PushUserMapper.xml 6.7 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="cn.com.ty.lift.business.common.mapper.PushUserMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="cn.com.ty.lift.common.model.PushUserInfo">
  6. <id column="user_id" property="userId"/>
  7. <result column="username" property="userName"/>
  8. <result column="mobile" property="mobile"/>
  9. <result column="device_model" property="deviceModel"/>
  10. <result column="device_flag" property="deviceFlag"/>
  11. <result column="role_name" property="roleName"/>
  12. </resultMap>
  13. <select id="listByUserIds" resultMap="BaseResultMap">
  14. SELECT
  15. ui.user_id,
  16. ui.NAME AS username,
  17. ua.mobile,
  18. ua.device_model,
  19. ua.device_flag,
  20. ro.NAME AS role_name
  21. FROM
  22. user_info ui
  23. LEFT JOIN user_account ua ON ui.user_id = ua.user_id
  24. LEFT JOIN user_role ur ON ui.user_id = ur.user_id
  25. LEFT JOIN role ro ON ro.id = ur.role_id
  26. <where>
  27. <if test="mtCompanyId != null and mtCompanyId > 0">
  28. AND ur.company_id = #{mtCompanyId}
  29. </if>
  30. <if test="userIds != null">
  31. AND ui.user_id IN
  32. <foreach collection="userIds" item="userId" open="(" separator="," close=")">
  33. #{userId, jdbcType=BIGINT}
  34. </foreach>
  35. </if>
  36. </where>
  37. </select>
  38. <select id="listByRoleCodes" resultMap="BaseResultMap">
  39. SELECT
  40. ui.user_id,
  41. ui.NAME AS username,
  42. ua.mobile,
  43. ua.device_model,
  44. ua.device_flag,
  45. ro.NAME AS role_name
  46. FROM
  47. user_info ui
  48. LEFT JOIN user_account ua ON ui.user_id = ua.user_id
  49. LEFT JOIN user_role ur ON ui.user_id = ur.user_id
  50. LEFT JOIN role ro ON ro.id = ur.role_id
  51. <where>
  52. <if test="mtCompanyId != null and mtCompanyId > 0">
  53. AND ur.company_id = #{mtCompanyId}
  54. </if>
  55. <if test="roleCodes != null">
  56. AND ro.code IN
  57. <foreach collection="roleCodes" item="roleCode" open="(" separator="," close=")">
  58. #{roleCode, jdbcType=VARCHAR}
  59. </foreach>
  60. </if>
  61. </where>
  62. </select>
  63. <select id="findRegionByEmergencyRepair" resultType="cn.com.ty.lift.business.project.dao.entity.Region">
  64. SELECT
  65. re.user_id,
  66. re.clerk
  67. FROM emergency_repair er
  68. LEFT JOIN project pr ON pr.id = er.project_id
  69. LEFT JOIN region re ON re.id = pr.region_id
  70. <where>
  71. <if test="id != null and id > 0">
  72. AND er.id = #{id}
  73. </if>
  74. <if test="mtCompanyId != null and mtCompanyId > 0">
  75. AND er.mt_company_id = #{mtCompanyId}
  76. </if>
  77. </where>
  78. </select>
  79. <select id="listByEmergencyRepair" resultMap="BaseResultMap">
  80. SELECT
  81. ui.user_id,
  82. ui.NAME AS username,
  83. ua.mobile,
  84. ua.device_model,
  85. ua.device_flag,
  86. ro.NAME AS role_name
  87. FROM
  88. emergency_repair er
  89. LEFT JOIN project pr ON pr.id = er.project_id
  90. LEFT JOIN region re ON re.id = pr.region_id
  91. LEFT JOIN user_info ui ON ui.user_id = re.user_id
  92. LEFT JOIN user_account ua ON ui.user_id = ua.user_id
  93. LEFT JOIN user_role ur ON ui.user_id = ur.user_id
  94. LEFT JOIN role ro ON ro.id = ur.role_id
  95. <where>
  96. <if test="id != null and id > 0">
  97. AND er.id = #{id}
  98. </if>
  99. <if test="mtCompanyId != null and mtCompanyId > 0">
  100. AND er.mt_company_id = #{mtCompanyId}
  101. </if>
  102. <if test="roleCodes != null">
  103. AND ro.`code` IN
  104. <foreach collection="roleCodes" item="roleCode" open="(" separator="," close=")">
  105. #{roleCode, jdbcType=VARCHAR}
  106. </foreach>
  107. </if>
  108. </where>
  109. </select>
  110. <select id="listByAnnualInspection" resultMap="BaseResultMap">
  111. SELECT
  112. ui.user_id,
  113. ui.NAME AS username,
  114. ua.mobile,
  115. ua.device_model,
  116. ua.device_flag,
  117. ro.NAME AS role_name
  118. FROM
  119. annual_inspection ai
  120. LEFT JOIN project_lift_relevance plr ON plr.mt_company_id = ai.mt_company_id AND ai.lift_id = plr.lift_id
  121. LEFT JOIN project pr ON pr.id = plr.project_id
  122. LEFT JOIN region re ON re.id = pr.region_id
  123. LEFT JOIN user_info ui ON ui.user_id = re.user_id
  124. LEFT JOIN user_account ua ON ui.user_id = ua.user_id
  125. LEFT JOIN user_role ur ON ua.user_id = ur.user_id
  126. LEFT JOIN role ro ON ro.id = ur.role_id
  127. <where>
  128. <if test="id != null and id > 0">
  129. AND ai.id = #{id}
  130. </if>
  131. <if test="mtCompanyId != null and mtCompanyId > 0">
  132. AND ai.mt_company_id = #{mtCompanyId}
  133. </if>
  134. <if test="roleCodes != null">
  135. AND ro.`code` IN
  136. <foreach collection="roleCodes" item="roleCode" open="(" separator="," close=")">
  137. #{roleCode, jdbcType=VARCHAR}
  138. </foreach>
  139. </if>
  140. </where>
  141. </select>
  142. <select id="findRegionByAnnualInspection" resultType="cn.com.ty.lift.business.project.dao.entity.Region">
  143. SELECT
  144. re.user_id,
  145. re.clerk
  146. FROM annual_inspection ai
  147. LEFT JOIN project_lift_relevance plr ON plr.lift_id = ai.lift_id AND plr.mt_company_id = ai.mt_company_id
  148. LEFT JOIN project pr ON pr.id = plr.project_id
  149. LEFT JOIN region re ON re.id = pr.region_id
  150. <where>
  151. <if test="id != null and id > 0">
  152. AND ai.id = #{id}
  153. </if>
  154. <if test="mtCompanyId != null and mtCompanyId > 0">
  155. AND ai.mt_company_id = #{mtCompanyId}
  156. </if>
  157. </where>
  158. </select>
  159. <select id="findRegionByProject" resultType="cn.com.ty.lift.business.project.dao.entity.Region">
  160. SELECT
  161. re.user_id,
  162. re.clerk
  163. FROM project pr
  164. LEFT JOIN region re ON re.id = pr.region_id
  165. <where>
  166. <if test="id != null and id > 0">
  167. AND pr.id = #{id}
  168. </if>
  169. <if test="mtCompanyId != null and mtCompanyId > 0">
  170. AND pr.mt_company_id = #{mtCompanyId}
  171. </if>
  172. </where>
  173. </select>
  174. </mapper>