PracticeLessonApplyMapper.xml 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.ym.mec.biz.dal.dao.PracticeLessonApplyDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.PracticeLessonApply" id="PracticeLessonApply">
  9. <result column="id_" property="id" />
  10. <result column="user_id_" property="userId" />
  11. <result column="create_time_" property="createTime" />
  12. <result column="memo_" property="memo" />
  13. <result column="tenant_id_" property="tenantId"/>
  14. </resultMap>
  15. <!-- 全查询 -->
  16. <select id="findAll" resultMap="PracticeLessonApply">
  17. SELECT * FROM practice_lesson_apply where tenant_id_ = #{tenantId}
  18. </select>
  19. <!-- 向数据库增加一条记录 -->
  20. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.PracticeLessonApply" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  21. <!--
  22. <selectKey resultClass="int" keyProperty="id" >
  23. SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
  24. </selectKey>
  25. -->
  26. INSERT INTO practice_lesson_apply (id_,user_id_,create_time_,memo_,tenant_id_) VALUES(#{id},#{userId},#{createTime},#{memo},#{tenantId})
  27. </insert>
  28. <!-- 分页查询 -->
  29. <select id="queryPage" resultMap="PracticeLessonApply" parameterType="map">
  30. SELECT * FROM practice_lesson_apply where tenant_id_ = #{tenantId} <include refid="global.limit"/>
  31. </select>
  32. <!-- 查询当前表的总记录数 -->
  33. <select id="queryCount" resultType="int">
  34. SELECT COUNT(*) FROM practice_lesson_apply where tenant_id_ = #{tenantId}
  35. </select>
  36. <select id="findByUserId" resultMap="PracticeLessonApply">
  37. SELECT * FROM practice_lesson_apply WHERE user_id_ = #{userId} LIMIT 1 FOR UPDATE
  38. </select>
  39. <resultMap id="practiceSumMap" type="com.ym.mec.biz.dal.dto.PracticeSumDto">
  40. <result property="organName" column="organName"/>
  41. <result property="per" column="per"/>
  42. <result property="activeNum" column="activeNum"/>
  43. <result property="makeNum" column="makeNum"/>
  44. <result property="totalNum" column="totalNum"/>
  45. </resultMap>
  46. <select id="practiceSum" resultMap="practiceSumMap">
  47. SELECT o.name_ organName,COUNT(su.id_) totalNum,COUNT(ps.id_) activeNum,COUNT(pla.user_id_) makeNum,COUNT(pla.user_id_) / COUNT(su.id_) per FROM sys_user su
  48. LEFT JOIN practice_lesson_apply pla ON pla.user_id_ = su.id_
  49. LEFT JOIN organization o ON o.id_ = su.organ_id_
  50. LEFT JOIN sys_user ps ON ps.id_ = su.id_ AND ps.password_ IS NOT NULL
  51. WHERE su.user_type_ LIKE '%STUDENT%' AND su.organ_id_ NOT IN (36,38,39) AND su.id_ IN
  52. <foreach collection="userIds" separator="," open="(" close=")" item="item">
  53. #{item}
  54. </foreach>
  55. GROUP BY su.organ_id_
  56. ORDER BY per DESC
  57. </select>
  58. <select id="getTotalNum" resultType="java.lang.Integer">
  59. SELECT COUNT(su.id_) FROM sys_user su
  60. WHERE su.user_type_ LIKE '%STUDENT%' AND su.organ_id_ NOT IN (36,38,39) AND su.id_ IN
  61. <foreach collection="userIds" separator="," open="(" close=")" item="item">
  62. #{item}
  63. </foreach>
  64. </select>
  65. <select id="getActiveNum" resultType="java.lang.Integer">
  66. SELECT COUNT(su.id_) FROM sys_user su
  67. WHERE su.user_type_ LIKE '%STUDENT%' AND su.password_ IS NOT NULL AND su.organ_id_ NOT IN (36,38,39) AND su.id_ IN
  68. <foreach collection="userIds" separator="," open="(" close=")" item="item">
  69. #{item}
  70. </foreach>
  71. </select>
  72. <select id="getMakeNum" resultType="java.lang.Integer">
  73. SELECT COUNT(id_) FROM practice_lesson_apply WHERE user_id_ IN
  74. <foreach collection="userIds" separator="," open="(" close=")" item="item">
  75. #{item}
  76. </foreach>
  77. </select>
  78. <select id="checkUserIsApply" resultType="int">
  79. SELECT COUNT(user_id_) FROM practice_lesson_apply WHERE user_id_=#{userId}
  80. </select>
  81. </mapper>