TeamMapper.xml 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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="com.dayou.mapper.TeamMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.vo.TeamVO">
  6. <result column="id" property="id" />
  7. <result column="deleted" property="deleted" />
  8. <result column="created" property="created" />
  9. <result column="modified" property="modified" />
  10. <result column="name" property="name" />
  11. <result column="supervisor_id" property="supervisorId" />
  12. <result column="cultivate_id" property="cultivateId" />
  13. <result column="department_id" property="departmentId" />
  14. <result column="supervisorName" property="supervisorName" />
  15. <result column="cultivateName" property="cultivateName" />
  16. <result column="departmentName" property="departmentName" />
  17. <result column="cultivatePost" property="cultivatePost"/>
  18. <collection property="members" ofType="java.lang.Long" select="selectTeamMember" column="id"/>
  19. </resultMap>
  20. <!-- 通用查询结果列 -->
  21. <sql id="Base_Column_List">
  22. t.id,
  23. t.deleted,
  24. t.created,
  25. t.modified,
  26. t.name, t.supervisor_id,t.cultivate_id, t.department_id
  27. </sql>
  28. <select id="getPage" parameterType="com.dayou.vo.TeamVO" resultMap="BaseResultMap">
  29. select <include refid="Base_Column_List"/> ,u.name as supervisorName ,u1.name as cultivateName ,d.name as departmentName,p.name as cultivatePost
  30. from team t left join user u on u.id = t.supervisor_id left join user u1 on u1.id = t.cultivate_id
  31. left join department d on d.id = t.department_id LEFT JOIN user_post up ON up.user_id = t.cultivate_id
  32. LEFT JOIN post p ON p.id = up.post_id
  33. where t.deleted = 0 and u.deleted =0 and u1.deleted = 0 and d.deleted = 0 and up.deleted = 0 and d.name = #{vo.departmentName}
  34. <if test="vo!=null and vo.name!=null and vo.name!= ''">
  35. and t.name like concat ('%',#{vo.name},'%')
  36. </if>
  37. <if test="vo!=null and vo.cultivateName!=null and vo.cultivateName!= ''">
  38. and u1.name like concat ('%',#{vo.cultivateName},'%')
  39. </if>
  40. order by t.id DESC
  41. </select>
  42. <select id="selectTeamMember" parameterType="java.lang.Long" resultType="com.dayou.vo.TeamMemberVO">
  43. SELECT
  44. tm.*,
  45. t.name as teamName,
  46. t.supervisor_id as supervisorId,
  47. u1.name as supervisorName,
  48. u.name as memberName,
  49. p.name as memberPost
  50. FROM
  51. team_member tm
  52. LEFT JOIN team t ON t.id = tm.team_id
  53. LEFT JOIN user u ON u.id = tm.member_id
  54. LEFT JOIN user u1 ON u1.id = t.supervisor_id
  55. LEFT JOIN user_post up ON up.user_id = tm.member_id
  56. LEFT JOIN post p ON p.id = up.post_id
  57. WHERE
  58. tm.deleted = 0 and u.deleted = 0 and u1.deleted = 0 and up.deleted = 0 and p.deleted = 0
  59. and tm.team_id =#{id}
  60. </select>
  61. </mapper>