WatchBloodPressureDataMapper.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.fs.watch.mapper.WatchBloodPressureDataMapper">
  6. <resultMap id="BaseResultMap" type="com.fs.watch.domain.WatchBloodPressureData">
  7. <result property="id" column="id" jdbcType="OTHER" typeHandler="com.fs.watch.handler.UUIDTypeHandler"/>
  8. <result property="deviceId" column="device_id" jdbcType="VARCHAR"/>
  9. <result property="sbp" column="sbp" jdbcType="INTEGER"/>
  10. <result property="dbp" column="dbp" jdbcType="INTEGER"/>
  11. <result property="status" column="status" jdbcType="INTEGER"/>
  12. <result property="createTime" column="create_time" jdbcType="VARCHAR"/>
  13. </resultMap>
  14. <sql id="Base_Column_List">
  15. id,device_id,sbp,
  16. dbp,status,create_time
  17. </sql>
  18. <!-- 插入数据 -->
  19. <update id="insert" parameterType="com.fs.watch.domain.WatchBloodPressureData">
  20. INSERT INTO watch_blood_pressure_data
  21. <trim prefix="(" suffix=")" suffixOverrides=",">
  22. <if test="data.id != null">
  23. id,
  24. </if>
  25. <if test="data.deviceId != null">
  26. device_id,
  27. </if>
  28. <if test="data.sbp != null">
  29. sbp,
  30. </if>
  31. <if test="data.dbp != null">
  32. dbp,
  33. </if>
  34. <if test="data.status != null">
  35. status,
  36. </if>
  37. <if test="data.createTime != null">
  38. create_time,
  39. </if>
  40. </trim>
  41. <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
  42. <if test="data.id != null">
  43. #{data.id},
  44. </if>
  45. <if test="data.deviceId != null">
  46. #{data.deviceId},
  47. </if>
  48. <if test="data.sbp != null">
  49. #{data.sbp},
  50. </if>
  51. <if test="data.dbp != null">
  52. #{data.dbp},
  53. </if>
  54. <if test="data.status != null">
  55. #{data.status},
  56. </if>
  57. <if test="data.createTime != null">
  58. #{data.createTime},
  59. </if>
  60. </trim>
  61. </update>
  62. <!-- 根据创建时间查询记录数 -->
  63. <select id="queryByCreateTime" resultType="java.lang.Integer">
  64. SELECT COUNT(*)
  65. FROM watch_blood_pressure_data
  66. WHERE create_time = #{createTime}
  67. </select>
  68. <!-- 根据日期和设备 ID 查询数据 -->
  69. <select id="queryByDateAndDeviceId" parameterType="map" resultMap="BaseResultMap">
  70. SELECT id, device_id, sbp, dbp, create_time
  71. FROM watch_blood_pressure_data
  72. WHERE device_id = #{deviceId}
  73. AND toDate(create_time) = #{date}
  74. ORDER BY create_time ASC
  75. </select>
  76. <select id="queryBpByDate" resultMap="BaseResultMap">
  77. SELECT
  78. <include refid="Base_Column_List"/>
  79. FROM
  80. watch_blood_pressure_data
  81. WHERE
  82. device_id = #{deviceId}
  83. AND create_time BETWEEN #{startTime} AND #{endTime}
  84. <if test="status != null and status !=''" >
  85. AND status = #{status}
  86. </if>
  87. ORDER BY
  88. create_time ASC
  89. </select>
  90. <select id="countBpByDate" resultType="java.util.Map">
  91. SELECT
  92. status,
  93. COUNT(*) AS count
  94. FROM
  95. watch_blood_pressure_data
  96. WHERE
  97. create_time BETWEEN #{startTime} AND #{endTime}
  98. AND device_id = #{deviceId}
  99. GROUP BY
  100. status
  101. </select>
  102. <select id="getLatest" resultMap="BaseResultMap">
  103. SELECT
  104. <include refid="Base_Column_List"/>
  105. FROM
  106. watch_blood_pressure_data
  107. WHERE
  108. device_id = #{deviceId}
  109. ORDER BY
  110. create_time DESC LIMIT 1
  111. </select>
  112. <select id="countBpPageByDate" resultType="java.lang.Integer">
  113. SELECT count(0)
  114. FROM watch_blood_pressure_data
  115. WHERE
  116. device_id = #{deviceId}
  117. <if test="status!=null and status !=''">
  118. and status = #{status}
  119. </if>
  120. AND (create_time BETWEEN #{startTime} AND #{endTime})
  121. </select>
  122. <select id="queryBgPageByDate" resultMap="BaseResultMap">
  123. SELECT
  124. <include refid="Base_Column_List"/>
  125. FROM watch_blood_pressure_data
  126. WHERE
  127. device_id = #{deviceId}
  128. <if test="status!=null and status !=''">
  129. and status = #{status}
  130. </if>
  131. AND create_time BETWEEN #{startTime} AND #{endTime}
  132. ORDER BY create_time ASC LIMIT #{num},#{size}
  133. </select>
  134. </mapper>