PxTrainingClassCQuery.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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.ghsc.partybuild.mapper.PxTrainingClassCQuery">
  4. <resultMap id="BaseResultMap" type="com.ghsc.partybuild.vo.trian.PxTrainingClassVo">
  5. <id column="id" jdbcType="VARCHAR" property="id" />
  6. <result column="dzzdm" jdbcType="VARCHAR" property="dzzdm" />
  7. <result column="training_class_name" jdbcType="VARCHAR" property="trainingClassName" />
  8. <result column="begin_date" jdbcType="TIMESTAMP" property="beginDate" />
  9. <result column="end_date" jdbcType="TIMESTAMP" property="endDate" />
  10. <result column="address" jdbcType="VARCHAR" property="address" />
  11. <result column="department" jdbcType="VARCHAR" property="department" />
  12. <result column="contact_name" jdbcType="VARCHAR" property="contactName" />
  13. <result column="phone" jdbcType="VARCHAR" property="phone" />
  14. <result column="content" jdbcType="VARCHAR" property="content" />
  15. <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  16. <result column="create_userid" jdbcType="VARCHAR" property="createUserid" />
  17. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
  18. <result column="update_userid" jdbcType="VARCHAR" property="updateUserid" />
  19. <result column="dzzmc" jdbcType="VARCHAR" property="dzzmc" />
  20. <result column="course_count" jdbcType="VARCHAR" property="courseCount" />
  21. <result column="user_count" jdbcType="VARCHAR" property="userCount" />
  22. <result column="date_diff_day" jdbcType="VARCHAR" property="dateDiffDay" />
  23. <result column="create_user_name" jdbcType="VARCHAR" property="createUserName" />
  24. </resultMap>
  25. <select id="selectPxTrainingClassList" resultMap="BaseResultMap">
  26. select ptc.id, ptc.dzzdm, ptc.training_class_name, ptc.begin_date, ptc.end_date,
  27. ptc.address, ptc.department, ptc.contact_name, ptc.phone, ptc.content,
  28. ptc.create_time, ptc.create_userid, ptc.update_time, ptc.update_userid,
  29. IFNULL(ptcu.user_count, 0) as user_count, IFNULL(ptcc.course_count, 0) as course_count,
  30. DATEDIFF(ptc.end_date,ptc.begin_date) as date_diff_day,
  31. cu.USERNAME as create_user_name, zz.dzzmc
  32. from px_training_class ptc
  33. left join zz_zzqkxx zz on ptc.dzzdm = zz.dzzdm
  34. left join (select training_class_id,count(0) as user_count from px_training_class_user group by training_class_id) ptcu on ptc.id=ptcu.training_class_id
  35. left join (select training_class_id,count(0) as course_count from px_training_class_course group by training_class_id) ptcc on ptc.id=ptcc.training_class_id
  36. left join cf_users cu on ptc.create_userid = cu.USERID
  37. where 1=1
  38. <if test="id != null and id != ''">
  39. and ptc.id = #{id}
  40. </if>
  41. <if test="dzzdm != null and dzzdm != ''">
  42. and ptc.dzzdm like concat('%',#{dzzdm},'%')
  43. </if>
  44. <if test="trainingClassName != null and trainingClassName != ''">
  45. and ptc.training_class_name like concat('%',#{trainingClassName},'%')
  46. </if>
  47. <choose>
  48. <when test="startDate!=null and endDate!=null ">
  49. and (ptc.begin_date <![CDATA[ <= ]]> #{endDate} and ptc.end_date <![CDATA[ >= ]]> #{startDate})
  50. </when>
  51. <when test="startDate!=null">
  52. and ptc.begin_date <![CDATA[ >= ]]> #{startDate}
  53. </when>
  54. <when test="endDate!=null">
  55. and ptc.end_date <![CDATA[ <= ]]> #{endDate}
  56. </when>
  57. </choose>
  58. order by ptc.create_time desc
  59. </select>
  60. <select id="selectAddressList" resultType="java.lang.String">
  61. select c.address
  62. from px_training_class c
  63. where c.create_userid = #{userId}
  64. and c.address is not null
  65. group by c.address
  66. order by max(c.create_time) desc
  67. </select>
  68. <resultMap id="UserBaseResultMap" type="com.ghsc.partybuild.vo.trian.PxTrainingClassUserVo">
  69. <id column="id" jdbcType="VARCHAR" property="id" />
  70. <result column="training_class_id" jdbcType="VARCHAR" property="trainingClassId" />
  71. <result column="dzzdm" jdbcType="VARCHAR" property="dzzdm" />
  72. <result column="user_no" jdbcType="VARCHAR" property="userNo" />
  73. <result column="user_name" jdbcType="VARCHAR" property="userName" />
  74. <result column="gender_id" jdbcType="INTEGER" property="genderId" />
  75. <result column="phone" jdbcType="VARCHAR" property="phone" />
  76. <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  77. <result column="create_userid" jdbcType="VARCHAR" property="createUserid" />
  78. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
  79. <result column="update_userid" jdbcType="VARCHAR" property="updateUserid" />
  80. <result column="dzzmc" jdbcType="VARCHAR" property="dzzmc" />
  81. <result column="gender" jdbcType="VARCHAR" property="gender" />
  82. <result column="training_class_name" jdbcType="VARCHAR" property="trainingClassName" />
  83. </resultMap>
  84. <select id="selectTrainingClassUserList" resultMap="UserBaseResultMap">
  85. select ptcu.id, ptcu.training_class_id, ptcu.dzzdm, ptcu.user_no,
  86. ptcu.user_name, ptcu.gender_id, ptcu.phone, ptcu.create_time,
  87. ptcu.create_userid, ptcu.update_time, ptcu.update_userid ,
  88. zz.dzzmc, cd.dicvalue as gender
  89. from px_training_class_user ptcu
  90. left join zz_zzqkxx zz on ptcu.dzzdm = zz.dzzdm
  91. left join (select DICKEY, DICVALUE from cf_dictionary where DICTYPEKEY='dic_sex') cd on ptcu.gender_id=cd.DICKEY
  92. where ptcu.training_class_id = #{trainingClassId}
  93. order by ptcu.create_time
  94. </select>
  95. <resultMap id="CourseBaseResultMap" type="com.ghsc.partybuild.vo.trian.PxTrainingClassCourseVo">
  96. <id column="id" jdbcType="VARCHAR" property="id" />
  97. <result column="training_class_id" jdbcType="VARCHAR" property="trainingClassId" />
  98. <result column="course_name" jdbcType="VARCHAR" property="courseName" />
  99. <result column="teacher" jdbcType="VARCHAR" property="teacher" />
  100. <result column="training_time" jdbcType="TIMESTAMP" property="trainingTime" />
  101. <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
  102. <result column="create_userid" jdbcType="VARCHAR" property="createUserid" />
  103. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
  104. <result column="update_userid" jdbcType="VARCHAR" property="updateUserid" />
  105. </resultMap>
  106. <select id="selectTrainingClassCourseList" resultMap="CourseBaseResultMap">
  107. select ptcc.id, ptcc.training_class_id, ptcc.course_name, ptcc.teacher, ptcc.training_time,
  108. ptcc.create_time, ptcc.create_userid, ptcc.update_time, ptcc.update_userid,
  109. ptc.training_class_name, ptc.dzzdm, zz.dzzmc
  110. from px_training_class ptc
  111. left join px_training_class_course ptcc on ptc.id = ptcc.training_class_id
  112. left join zz_zzqkxx zz on ptc.dzzdm = zz.dzzdm
  113. where ptcc.training_class_id = #{trainingClassId}
  114. order by ptcc.training_time ,ptcc.create_time desc
  115. </select>
  116. </mapper>