FsStatisSalerWatchMapper.xml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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.fs.statis.mapper.FsStatisSalerWatchMapper"> <!-- 请替换为你的Mapper接口的完整路径 -->
  4. <!-- 结果映射 -->
  5. <resultMap id="BaseResultMap" type="com.fs.statis.domain.FsStatisSalerWatch"> <!-- 请替换为你的Entity的完整路径 -->
  6. <id column="id" property="id" jdbcType="INTEGER"/>
  7. <result column="dept_id" property="deptId" jdbcType="INTEGER"/>
  8. <result column="company_user_id" property="companyUserId" jdbcType="INTEGER"/>
  9. <result column="train_camp_num" property="trainCampNum" jdbcType="INTEGER"/>
  10. <result column="not_registered_num" property="notRegisteredNum" jdbcType="INTEGER"/>
  11. <result column="registered_num" property="registeredNum" jdbcType="INTEGER"/>
  12. <result column="reg_rate" property="regRate" jdbcType="FLOAT"/>
  13. <result column="finished_rate" property="finishedRate" jdbcType="FLOAT"/>
  14. <result column="offline_total" property="offlineTotal" jdbcType="INTEGER"/>
  15. <result column="offline_not_part" property="offlineNotPart" jdbcType="INTEGER"/> <!-- 对应修正后的 offlineNotPart -->
  16. <result column="offline_not_watched" property="offlineNotWatched" jdbcType="INTEGER"/>
  17. <result column="online_total" property="onlineTotal" jdbcType="INTEGER"/>
  18. <result column="online_online_rate" property="onlineOnlineRate" jdbcType="FLOAT"/>
  19. <result column="online_playback_comple_rate" property="onlinePlaybackCompleRate" jdbcType="FLOAT"/>
  20. <result column="online_incomplete_playback" property="onlineIncompletePlayback" jdbcType="INTEGER"/>
  21. <result column="online_complete_playback" property="onlineCompletePlayback" jdbcType="INTEGER"/>
  22. </resultMap>
  23. <!-- 通用查询结果列 -->
  24. <sql id="Base_Column_List">
  25. id, dept_id, company_user_id, train_camp_num, not_registered_num, registered_num,
  26. reg_rate, finished_rate, offline_total, offline_not_part, offline_not_watched,
  27. online_total, online_online_rate, online_playback_comple_rate,
  28. online_incomplete_playback, online_complete_playback
  29. </sql>
  30. <select id="queryList" resultType="com.fs.statis.domain.FsStatisSalerWatch">
  31. select
  32. company_user_id,
  33. ANY_VALUE(dept_id) as dept_id,
  34. sum(train_camp_num) as train_camp_num,
  35. sum(not_registered_num) as not_registered_num,
  36. sum(registered_num) as registered_num,
  37. sum(reg_rate) as reg_rate,
  38. sum(finished_rate) as finished_rate,
  39. sum(offline_total) as offline_total,
  40. sum(offline_not_part) as offline_not_part,
  41. sum(offline_not_watched) as offline_not_watched,
  42. sum(online_total) as online_total,
  43. sum(online_online_rate) as online_online_rate,
  44. sum(online_playback_comple_rate) as online_playback_comple_rate,
  45. sum(online_incomplete_playback) as online_incomplete_playback,
  46. sum(online_complete_playback) as online_complete_playback
  47. from fs_statis_saler_watch
  48. <where>
  49. <if test="userIds != null and userIds.size() > 0">
  50. AND company_user_id IN
  51. <foreach collection="userIds" open="(" close=")" separator="," item="item">
  52. ${item}
  53. </foreach>
  54. </if>
  55. <if test="periodList != null and periodList.size() > 0">
  56. AND period_id IN
  57. <foreach collection="periodList" open="(" close=")" separator="," item="item">
  58. #{item}
  59. </foreach>
  60. </if>
  61. <if test="startDate != null and endDate != null">
  62. AND data_date BETWEEN #{startDate} AND #{endDate}
  63. </if>
  64. </where>
  65. group by company_user_id,data_date
  66. </select>
  67. <insert id="batchSave">
  68. INSERT INTO fs_statis_saler_watch (
  69. dept_id, company_user_id, train_camp_num,
  70. not_registered_num, registered_num, reg_rate,
  71. finished_rate, offline_total, offline_not_part,
  72. offline_not_watched, online_total, online_online_rate,
  73. online_playback_comple_rate, online_incomplete_playback,
  74. online_complete_playback,period_id,data_date
  75. ) VALUES
  76. <foreach collection="list" item="item" separator=",">
  77. (
  78. #{item.deptId,jdbcType=INTEGER},
  79. #{item.companyUserId,jdbcType=INTEGER},
  80. #{item.trainCampNum,jdbcType=INTEGER},
  81. #{item.notRegisteredNum,jdbcType=INTEGER},
  82. #{item.registeredNum,jdbcType=INTEGER},
  83. #{item.regRate,jdbcType=FLOAT},
  84. #{item.finishedRate,jdbcType=FLOAT},
  85. #{item.offlineTotal,jdbcType=INTEGER},
  86. #{item.offlineNotPart,jdbcType=INTEGER},
  87. #{item.offlineNotWatched,jdbcType=INTEGER},
  88. #{item.onlineTotal,jdbcType=INTEGER},
  89. #{item.onlineOnlineRate,jdbcType=FLOAT},
  90. #{item.onlinePlaybackCompleRate,jdbcType=FLOAT},
  91. #{item.onlineIncompletePlayback,jdbcType=INTEGER},
  92. #{item.onlineCompletePlayback,jdbcType=INTEGER},
  93. #{item.periodId,jdbcType=VARCHAR},
  94. #{item.dataDate,jdbcType=VARCHAR}
  95. )
  96. </foreach>
  97. </insert>
  98. </mapper>