SysDeptMapper.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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.ydtech.modules.admin.dao.SysDeptMapper">
  6. <resultMap id="BaseResultMap" type="com.ydtech.modules.admin.model.SysDept">
  7. <id property="id" column="id" jdbcType="VARCHAR"/>
  8. <result property="name" column="name" jdbcType="VARCHAR"/>
  9. <result property="parentId" column="parent_id" jdbcType="VARCHAR"/>
  10. <result property="orderNum" column="order_num" jdbcType="INTEGER"/>
  11. <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
  12. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  13. <result property="lastUpdateBy" column="last_update_by" jdbcType="VARCHAR"/>
  14. <result property="lastUpdateTime" column="last_update_time" jdbcType="TIMESTAMP"/>
  15. <result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
  16. <result property="comtype" column="comtype" jdbcType="VARCHAR"/>
  17. <result property="comlevel" column="comlevel" jdbcType="VARCHAR"/>
  18. <result property="address" column="address" jdbcType="VARCHAR"/>
  19. <result property="leadername" column="leadername" jdbcType="VARCHAR"/>
  20. <result property="leaderphone" column="leaderphone" jdbcType="VARCHAR"/>
  21. <result property="comattribute" column="comattribute" jdbcType="VARCHAR"/>
  22. <result property="isstop" column="isstop" jdbcType="VARCHAR"/>
  23. <result property="deptCode" column="dept_code" jdbcType="VARCHAR"/>
  24. <result property="province" column="province" jdbcType="VARCHAR"/>
  25. <result property="city" column="city" jdbcType="VARCHAR"/>
  26. <result property="area" column="area" jdbcType="VARCHAR"/>
  27. <result property="house" column="house" jdbcType="VARCHAR"/>
  28. <result property="deptType" column="dept_type" jdbcType="VARCHAR"/>
  29. <result property="managementFee" column="management_fee" jdbcType="DOUBLE"/>
  30. </resultMap>
  31. <sql id="Base_Column_List">
  32. id,name,parent_id,
  33. order_num,create_by,create_time,
  34. last_update_by,last_update_time,del_flag,
  35. comtype,comlevel,address,
  36. leadername,leaderphone,comattribute,
  37. isstop,dept_code,province,
  38. city,area,house,
  39. dept_type,management_fee
  40. </sql>
  41. <select id="getMaxId" resultType="java.lang.String">
  42. SELECT IFNULL(MAX(id), 0) maxid
  43. FROM `sys_dept`
  44. WHERE parent_id = #{deptId}
  45. <if test='deptType != null and deptType != ""'>
  46. and id NOT LIKE '%M%'
  47. </if>
  48. </select>
  49. <select id="queryListByParentId" resultType="com.ydtech.modules.admin.model.SysDept">
  50. SELECT
  51. dept.*
  52. FROM
  53. sys_dept dept
  54. WHERE
  55. dept.del_flag = 0
  56. <if test="level == 0">
  57. AND dept.parent_id = #{parentId}
  58. </if>
  59. <if test='level == "1"'>
  60. AND dept.province IN ( SELECT area_code FROM sys_area WHERE LEVEL = 1 )
  61. AND LENGTH(
  62. IFNULL( dept.province, '' )) + LENGTH( IFNULL( dept.city, '' ) ) + LENGTH(
  63. IFNULL( dept.area, '' ))=6
  64. AND dept.parent_id = #{parentId}
  65. </if>
  66. <if test='level == "2"'>
  67. AND dept.city IN ( SELECT area_code FROM sys_area WHERE LEVEL = 2 )
  68. AND LENGTH(
  69. IFNULL( dept.province, '' )) + LENGTH( IFNULL( dept.city, '' ) ) + LENGTH(
  70. IFNULL( dept.area, '' ))= 12
  71. AND dept.parent_id = #{parentId}
  72. </if>
  73. <if test='level == "3"'>
  74. AND dept.area IN ( SELECT area_code FROM sys_area WHERE LEVEL = 3)
  75. AND LENGTH(
  76. IFNULL( dept.province, '' )) + LENGTH( IFNULL( dept.city, '' ) ) + LENGTH(
  77. IFNULL( dept.area, '' ))= 18
  78. AND dept.parent_id = #{parentId}
  79. </if>
  80. <if test='level == "4"'>
  81. AND dept.parent_id = #{parentId}
  82. </if>
  83. </select>
  84. <select id="queryListByQXDept" resultType="com.ydtech.modules.admin.model.SysDept">
  85. SELECT
  86. sd.id as id,
  87. sd.name as name,
  88. sd.parent_id as parentId,
  89. sd.comlevel as comlevel,
  90. false as flag
  91. FROM
  92. sys_dept sd
  93. WHERE
  94. ( sd.comlevel = 3 )
  95. OR ( sd.comlevel = 4 )
  96. OR ( sd.comlevel > 4 AND sd.id LIKE '%M%' )
  97. OR ( sd.comlevel > 4 AND sd.id LIKE '%D%' )
  98. OR ( sd.id LIKE '%M%' )
  99. ORDER BY comlevel
  100. </select>
  101. <select id="queryHXDeptTree" resultType="com.ydtech.modules.admin.model.SysDept">
  102. SELECT
  103. sd.id AS id,
  104. sd.NAME AS NAME,
  105. sd.parent_id AS parentId,
  106. sd.comlevel AS comlevel,
  107. FALSE AS flag
  108. FROM
  109. sys_dept sd
  110. WHERE
  111. ( sd.comlevel &lt; 4 )
  112. OR ( sd.id LIKE '%D%' AND sd.id NOT LIKE '%M%' )
  113. ORDER BY
  114. id
  115. </select>
  116. </mapper>