信创改造
This commit is contained in:
+1
-1
@@ -66,7 +66,7 @@ public interface WatchDeviceMapper extends MPJBaseMapper<WatchDevice> {
|
||||
|
||||
List<String> selectDeviceUserId(@Param("deptId") String deptId);
|
||||
|
||||
@Select(value = "SELECT LEFT(org_code,6) as orgCode, count(1) as medicalCount FROM `watch_device` GROUP BY LEFT(org_code,6)")
|
||||
@Select(value = "SELECT LEFT(org_code,6) as orgCode, count(1) as medicalCount FROM watch_device GROUP BY LEFT(org_code,6)")
|
||||
List<JSONObject> getWatchSum();
|
||||
|
||||
List<WearCount> selectWearCount(@Param("orgCodeList") List<String> orgCodeList);
|
||||
|
||||
+12
-12
@@ -16,10 +16,10 @@ import java.util.Map;
|
||||
@Mapper
|
||||
public interface WatchMapper {
|
||||
|
||||
@Select("SELECT DATEDIFF(NOW(), (SELECT bind_date FROM watch_bind_his WHERE bind_user_id = #{id} ORDER BY bind_date DESC limit 1)) AS days")
|
||||
@Select("SELECT ROUND(SYSDATE - (SELECT CAST(bind_date AS DATE) FROM watch_bind_his WHERE bind_user_id = #{id} ORDER BY bind_date DESC limit 1)) AS days")
|
||||
Integer getUseDays(@Param("id") String id);
|
||||
|
||||
@Select("select length(nm.status) minutes,DATE_FORMAT(n.data_date,'%Y-%m-%d') dataDate from watch_data_sleep_new_minute nm left join watch_data_sleep_new n on nm.sleep_id = n.id where n.id = ( select id from watch_data_sleep_new WHERE bind_user_id = #{id} order by data_date desc limit 1) and nm.STATUS not like '%55%' limit 1")
|
||||
@Select("select length(nm.status) minutes,TO_CHAR(n.data_date,'YYYY-MM-DD') dataDate from watch_data_sleep_new_minute nm left join watch_data_sleep_new n on nm.sleep_id = n.id where n.id = ( select id from watch_data_sleep_new WHERE bind_user_id = #{id} order by data_date desc limit 1) and nm.STATUS not like '%55%' limit 1")
|
||||
WatchDataDTO getDataSleep(@Param("id") String id);
|
||||
|
||||
/**
|
||||
@@ -30,22 +30,22 @@ public interface WatchMapper {
|
||||
@Select("SELECT long_duration_total minutes, data_date dataDate FROM watch_stat_user_info_day_sleep WHERE user_id = #{id} and long_duration_total > 0 ORDER BY data_date DESC LIMIT 1;")
|
||||
WatchDataDTO getDataSleepNew(@Param("id") String id);
|
||||
|
||||
@Select("SELECT AVG(TIMESTAMPDIFF(MINUTE, d.fall_asleep_time, d.wake_up_time)) AS aveMinute FROM watch_data_sleep_new_day d LEFT JOIN watch_data_sleep_new n ON d.sleep_id = n.id WHERE n.id IN (SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id})")
|
||||
@Select("SELECT AVG(ROUND((CAST(d.wake_up_time AS DATE) - CAST(d.fall_asleep_time AS DATE)) * 24 * 60)) AS aveMinute FROM watch_data_sleep_new_day d LEFT JOIN watch_data_sleep_new n ON d.sleep_id = n.id WHERE n.id IN (SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id})")
|
||||
Double getAverageSleep(@Param("id") String id);
|
||||
|
||||
@Select("select MAX(data_value) dataValue,data_date dataDate from watch_data_steps force index(bind_user_id) where bind_user_id = #{id} group by data_date order by data_date desc limit 1")
|
||||
@Select("select MAX(data_value) dataValue,data_date dataDate from watch_data_steps where bind_user_id = #{id} group by data_date order by data_date desc limit 1")
|
||||
WatchDataDTO getDataSteps(@Param("id") String id);
|
||||
|
||||
@Select("SELECT SUM(data_value) FROM watch_data_distance WHERE bind_user_id = #{id}")
|
||||
Integer getDataDistance(@Param("id") String id);
|
||||
|
||||
@Select("SELECT CAST(data_value as SIGNED) dataValue,data_date dataDate from watch_data_heart_rate where bind_user_id = #{id} order by time_stamp desc limit 1")
|
||||
@Select("SELECT CAST(data_value as INTEGER) dataValue,data_date dataDate from watch_data_heart_rate where bind_user_id = #{id} order by time_stamp desc limit 1")
|
||||
WatchDataDTO getHeartRate(@Param("id") String id);
|
||||
|
||||
@Select("SELECT CAST(data_value as SIGNED ) dataValue,data_date dataDate from watch_data_spo2 where bind_user_id = #{id} order by time_stamp desc limit 1")
|
||||
@Select("SELECT CAST(data_value as INTEGER) dataValue,data_date dataDate from watch_data_spo2 where bind_user_id = #{id} order by time_stamp desc limit 1")
|
||||
WatchDataDTO getDataSpo2(@Param("id") String id);
|
||||
|
||||
@Select("select cast(data_value as SIGNED ) dataValue,data_date dataDate from watch_data_stress where bind_user_id = #{id} order by end_time_stamp desc limit 1")
|
||||
@Select("select cast(data_value as INTEGER) dataValue,data_date dataDate from watch_data_stress where bind_user_id = #{id} order by end_time_stamp desc limit 1")
|
||||
WatchDataDTO getStress(@Param("id") String id);
|
||||
|
||||
@Select("select data_value dataValue,data_date dataDate from watch_data_temperature where bind_user_id = #{id} order by time_stamp desc limit 1")
|
||||
@@ -54,17 +54,17 @@ public interface WatchMapper {
|
||||
@Select("SELECT * FROM watch_data_sleep_new_minute WHERE sleep_id IN (SELECT id FROM watch_data_sleep_new WHERE sleep_flag= '1' AND bind_user_id = #{id} AND data_date = #{date})")
|
||||
List<WatchDataSleepNewMinute> getNewMinuteList(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
@Select("SELECT DISTINCT data_date dateDate FROM watch_data_sleep_new WHERE DATE_FORMAT( data_date, '%Y-%m' ) = DATE_FORMAT(#{date}, '%Y-%m' ) AND bind_user_id = #{id} AND sleep_flag = '1'")
|
||||
@Select("SELECT DISTINCT data_date dateDate FROM watch_data_sleep_new WHERE TO_CHAR( data_date, 'YYYY-MM' ) = TO_CHAR(#{date}, 'YYYY-MM' ) AND bind_user_id = #{id} AND sleep_flag = '1'")
|
||||
List<Date> getSleepNewDateList(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> selectData(@Param("id") String id, @Param("format") String format, @Param("date") String date);
|
||||
|
||||
@Select("select max(data_value) `maxValue`,min(data_value) `minValue`,max(skin_tempera) maxSkinValue,min(skin_tempera) minSkinValue from watch_data_temperature where bind_user_id = #{id} and data_date = #{date}")
|
||||
@Select("select max(data_value) maxValue,min(data_value) minValue,max(skin_tempera) maxSkinValue,min(skin_tempera) minSkinValue from watch_data_temperature where bind_user_id = #{id} and data_date = #{date}")
|
||||
Map<String, Object> getMapValue(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> getData(@Param("id") String id, @Param("format") String format, @Param("date") String date);
|
||||
|
||||
@Select("select max(data_value) `maxValue`,min(data_value) `minValue` from watch_data_heart_rate where bind_user_id = #{id} and data_date = #{date}")
|
||||
@Select("select max(data_value) maxValue,min(data_value) minValue from watch_data_heart_rate where bind_user_id = #{id} and data_date = #{date}")
|
||||
Map<String, Object> getMapRate(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
Map<String, Object> getMapRateValue(@Param("id") String id, @Param("date") Date date);
|
||||
@@ -73,12 +73,12 @@ public interface WatchMapper {
|
||||
|
||||
List<Map<String, Object>> getMapDataValueFormat(@Param("id") String id, @Param("date") String date, @Param("format") String format);
|
||||
|
||||
@Select("select max(data_value) `maxValue`,min(data_value) `minValue` ,round(avg(data_value)) `avgValue` from watch_data_stress where bind_user_id = #{id} and data_date = #{date}")
|
||||
@Select("select max(data_value) maxValue,min(data_value) minValue ,round(avg(data_value)) avgValue from watch_data_stress where bind_user_id = #{id} and data_date = #{date}")
|
||||
Map<String, Object> getMapStress(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
List<Map<String, Object>> getMapStressValueFormat(@Param("id") String id, @Param("date") String date, @Param("format") String format);
|
||||
|
||||
@Select("select max(data_value) `maxValue`,min(data_value) `minValue` from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date}")
|
||||
@Select("select max(data_value) maxValue,min(data_value) minValue from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date}")
|
||||
Map<String, Object> getMapSpo2(@Param("id") String id, @Param("date") Date date);
|
||||
|
||||
@Select("select data_value lastValue from watch_data_spo2 where bind_user_id = #{id} and data_date = #{date} order by time_stamp desc limit 1")
|
||||
|
||||
+1
-1
@@ -64,6 +64,6 @@ public interface WatchUserDataMapper extends BaseMapper<WatchUserData> {
|
||||
* @param watchNo
|
||||
* @return
|
||||
*/
|
||||
@Select("SELECT MAX(data_date) FROM `watch_user_data` where bind_user_id = #{userId} and watch_no = #{watchNo}")
|
||||
@Select("SELECT MAX(data_date) FROM watch_user_data where bind_user_id = #{userId} and watch_no = #{watchNo}")
|
||||
Date lastDataDate(@Param("userId") String userId,@Param("watchNo") String watchNo);
|
||||
}
|
||||
|
||||
+3
-3
@@ -51,7 +51,7 @@ public class WatchStatisticsProvider {
|
||||
sb.append(orgCodeStr)
|
||||
.append(" as org_code, event_type, count(distinct bind_user_id) as warning_count ")
|
||||
.append("from watch_monitor_data ")
|
||||
.append("where warn_time between date_format(#{start}, '%Y-%m-%d 00:00:00') and date_format(#{end}, '%Y-%m-%d 23:59:59') ")
|
||||
.append("where warn_time between TRUNC(#{start}) and TRUNC(#{end}) + 1 - 1/86400 ")
|
||||
.append("and event_type in ('heart_rate','spo2','stress','temperature_anomalies') ");
|
||||
if (StrUtil.isNotEmpty(filter.getOrgCodeLeaf())) {
|
||||
sb.append("and org_code like CONCAT(#{orgCodeLeaf},'%')");
|
||||
@@ -65,11 +65,11 @@ public class WatchStatisticsProvider {
|
||||
public String wearingDetail() {
|
||||
return "SELECT " +
|
||||
" max(wd.bind_user_id) as bind_user_id," +
|
||||
" max(distinct wbh.bind_date) as bind_date," +
|
||||
" max(wbh.bind_date) as bind_date," +
|
||||
" count(distinct wud.data_date) as date_count," +
|
||||
" wd.watch_no," +
|
||||
" max(wd.org_code) as watch_org_code," +
|
||||
" GROUP_CONCAT(distinct wud.data_date order by wud.data_date) as date_list" +
|
||||
" LISTAGG(wud.data_date, ',') WITHIN GROUP (ORDER BY wud.data_date) as date_list" +
|
||||
" FROM watch_device wd" +
|
||||
" LEFT JOIN watch_bind_his wbh" +
|
||||
" ON wd.watch_no = wbh.watch_no AND wd.bind_user_id = wbh.bind_user_id AND wbh.bind_end_date IS NULL" +
|
||||
|
||||
+2
-2
@@ -55,13 +55,13 @@
|
||||
</if>
|
||||
<if test="req.flag!=null and req.flag==3">
|
||||
<if test="req.dateMonth!=null">
|
||||
and DATE_FORMAT(wdsn.data_date,'%Y-%m') =DATE_FORMAT(#{req.dateMonth},'%Y-%m')
|
||||
and TO_CHAR(wdsn.data_date,'YYYY-MM') = TO_CHAR(#{req.dateMonth},'YYYY-MM')
|
||||
</if>
|
||||
|
||||
</if>
|
||||
<if test="req.flag!=null and req.flag==4">
|
||||
<if test="req.dateYear!=null">
|
||||
and year(wdsn.data_date) =#{req.dateYear}
|
||||
and EXTRACT(YEAR FROM wdsn.data_date) = #{req.dateYear}
|
||||
</if>
|
||||
</if>
|
||||
</where>
|
||||
|
||||
+18
-20
@@ -6,7 +6,7 @@
|
||||
s.data_value stepsValue,
|
||||
d.data_value distanceValue,
|
||||
c.data_value calorieValue,
|
||||
DATE_FORMAT(s.data_date, '%Y-%m-%d') dataDate
|
||||
TO_CHAR(s.data_date, 'YYYY-MM-DD') dataDate
|
||||
FROM
|
||||
watch_data_steps s
|
||||
LEFT JOIN watch_data_distance d ON s.bind_user_id = d.bind_user_id
|
||||
@@ -15,7 +15,7 @@
|
||||
AND s.data_date = c.data_date
|
||||
WHERE
|
||||
s.bind_user_id = #{id}
|
||||
AND DATE_FORMAT(s.data_date, #{format}) = #{date}
|
||||
AND TO_CHAR(s.data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
s.data_date ASC
|
||||
</select>
|
||||
@@ -29,36 +29,33 @@
|
||||
watch_data_temperature
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format}) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
data_date ASC
|
||||
</select>
|
||||
<select id="getMapRateValue" resultType="java.util.Map">
|
||||
SELECT
|
||||
max( data_value ) `maxValue`,
|
||||
min( data_value ) `minValue`
|
||||
max( data_value ) maxValue,
|
||||
min( data_value ) minValue
|
||||
FROM
|
||||
watch_monitor_data
|
||||
WHERE
|
||||
event_type = 'heart_rate'
|
||||
AND data_value != NULL
|
||||
AND bind_user_id = #{id}
|
||||
AND data_date BETWEEN (
|
||||
DATE_SUB(#{date}, INTERVAL WEEKDAY(#{date}) DAY ))
|
||||
AND (
|
||||
DATE_SUB(#{date}, INTERVAL WEEKDAY(#{date}) - 6 DAY ))
|
||||
AND data_date BETWEEN TRUNC(#{date}, 'IW') AND TRUNC(#{date}, 'IW') + 6
|
||||
</select>
|
||||
<select id="getMapRateValueFormat" resultType="java.util.Map">
|
||||
SELECT
|
||||
max( data_value ) `maxValue`,
|
||||
min( data_value ) `minValue`
|
||||
max( data_value ) maxValue,
|
||||
min( data_value ) minValue
|
||||
FROM
|
||||
watch_monitor_data
|
||||
WHERE
|
||||
event_type = 'heart_rate'
|
||||
AND data_value != NULL
|
||||
AND bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format} ) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
</select>
|
||||
<select id="getMapDataValueFormat" resultType="java.util.Map">
|
||||
SELECT
|
||||
@@ -68,7 +65,7 @@
|
||||
watch_data_heart_rate
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format} ) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
time_stamp ASC
|
||||
</select>
|
||||
@@ -80,7 +77,7 @@
|
||||
watch_data_stress
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date, #{format}) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
start_time_stamp DESC
|
||||
</select>
|
||||
@@ -92,7 +89,7 @@
|
||||
watch_data_spo2
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND DATE_FORMAT( data_date,#{format}) = #{date}
|
||||
AND TO_CHAR(data_date, #{format}) = #{date}
|
||||
ORDER BY
|
||||
time_stamp DESC
|
||||
</select>
|
||||
@@ -109,18 +106,19 @@
|
||||
WHERE
|
||||
bind_user_id = #{id}
|
||||
AND event_type = #{type}
|
||||
AND DATE_FORMAT( data_date, '%Y-%m' ) = #{date}
|
||||
AND TO_CHAR(data_date, 'YYYY-MM') = #{date}
|
||||
ORDER BY
|
||||
data_date DESC
|
||||
LIMIT #{startNo}, #{pageSize}
|
||||
LIMIT #{pageSize} OFFSET #{startNo}
|
||||
</select>
|
||||
<select id="getAverageDay" resultType="java.util.Map">
|
||||
SELECT
|
||||
CAST( AVG( total_minutes ) AS UNSIGNED ) AS minutes,
|
||||
ROUND( AVG( total_minutes ) ) AS minutes,
|
||||
( SELECT COUNT(*) FROM watch_data_sleep_new_day WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE
|
||||
bind_user_id = #{id}) ) AS sum
|
||||
FROM
|
||||
( SELECT TIMESTAMPDIFF( MINUTE, fall_asleep_time, wake_up_time ) AS total_minutes FROM watch_data_sleep_new_day
|
||||
WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id}) ) AS subquery;
|
||||
( SELECT ROUND((CAST(wake_up_time AS DATE) - CAST(fall_asleep_time AS DATE)) * 24 * 60) AS total_minutes
|
||||
FROM watch_data_sleep_new_day
|
||||
WHERE sleep_id IN ( SELECT id FROM watch_data_sleep_new WHERE bind_user_id = #{id}) ) subquery
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+5
-5
@@ -173,7 +173,7 @@
|
||||
) as day_count,
|
||||
(select count(0)
|
||||
from watch_monitor_data
|
||||
where yearweek(data_date,1) = yearweek(curdate(),1)
|
||||
where TO_CHAR(data_date,'IYYY-IW') = TO_CHAR(SYSDATE,'IYYY-IW')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -183,7 +183,7 @@
|
||||
) as week_count,
|
||||
(select count(0)
|
||||
from watch_monitor_data
|
||||
where date_format(data_date, '%Y-%m') = date_format(curdate(), '%Y-%m')
|
||||
where TO_CHAR(data_date, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -195,9 +195,9 @@
|
||||
</select>
|
||||
|
||||
<select id="monitorDayStats" resultType="com.renkang.watch.api.bean.response.MonitorDayStats">
|
||||
select data_date as date, year(data_date) as year, month(data_date) as month, dayofmonth(data_date) as day, count(0) as count
|
||||
select data_date as date, EXTRACT(YEAR FROM data_date) as year, EXTRACT(MONTH FROM data_date) as month, EXTRACT(DAY FROM data_date) as day, count(0) as count
|
||||
from watch_monitor_data
|
||||
where date_format(data_date, '%Y-%m') = date_format(#{monthDate,jdbcType=DATE}, '%Y-%m')
|
||||
where TO_CHAR(data_date, 'YYYY-MM') = TO_CHAR(#{monthDate,jdbcType=DATE}, 'YYYY-MM')
|
||||
<if test="orgCodes != null and orgCodes.size() > 0">
|
||||
and
|
||||
<foreach collection="orgCodes" item="orgCode" open="(" close=")" separator=" OR ">
|
||||
@@ -214,7 +214,7 @@
|
||||
WHERE
|
||||
lon_gd IS NOT NULL
|
||||
AND lat_gd IS NOT NULL
|
||||
AND ifnull(address_gd, '') = ''
|
||||
AND NVL(address_gd, '') = ''
|
||||
limit 100
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+124
-146
@@ -6,18 +6,18 @@
|
||||
SELECT
|
||||
id as id ,
|
||||
user_id as userId,
|
||||
max_value as `maxValue`,
|
||||
max_value as maxValue,
|
||||
min_value as minValue,
|
||||
avg_value as avgValue,
|
||||
silence_max_value as silenceMaxValue,
|
||||
silence_avg_value as silenceAvgValue,
|
||||
silence_min_value as silenceMinValue,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_heart_rate`
|
||||
watch_stat_user_info_day_heart_rate
|
||||
WHERE
|
||||
YEAR ( data_date )= #{dateYear}
|
||||
EXTRACT(YEAR FROM data_date) = #{dateYear}
|
||||
and
|
||||
user_id=#{userId}
|
||||
|
||||
@@ -76,33 +76,33 @@
|
||||
watch_stat_user_info_day_heart_rate a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'heart_rate') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
|
||||
<select id="selectSpoDataByOrgCode" parameterType="com.renkang.watch.dto.BigScreenDTO" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
@@ -124,33 +124,33 @@
|
||||
watch_stat_user_info_day_spo2 a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'spo') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectStressDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -171,33 +171,33 @@
|
||||
watch_stat_user_info_day_stress a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'stress') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectTempDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -218,33 +218,33 @@
|
||||
watch_stat_user_info_day_temp a
|
||||
LEFT JOIN
|
||||
(SELECT DISTINCT bind_user_id FROM watch_monitor_data
|
||||
WHERE warn_time BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
WHERE warn_time BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
AND event_type = 'temp') b
|
||||
ON
|
||||
a.user_id = b.bind_user_id
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectSdcDataByOrgCode" resultType="com.renkang.watch.vo.WatchDataVo">
|
||||
SELECT
|
||||
@@ -253,42 +253,22 @@
|
||||
FROM
|
||||
watch_stat_user_info_day_sdc a
|
||||
WHERE
|
||||
a.data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
a.data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND a.org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
a.user_id;
|
||||
a.user_id
|
||||
</select>
|
||||
<select id="selectSleepDataByOrgCode" resultType="com.renkang.watch.vo.BigScreenSleepVo">
|
||||
<!-- SELECT
|
||||
data_date,
|
||||
SUM(long_count) AS long_count,
|
||||
SUM(long_duration_total) AS long_duration,
|
||||
SUM(short_count) AS short_count,
|
||||
SUM(short_duration_total) AS short_duration,
|
||||
AVG(sleep_avg) AS average_duration,
|
||||
SUM(long_duration_total) + SUM(short_duration_total) AS sleep_duration,
|
||||
(COUNT(DISTINCT user_id) * 1440) - (SUM(long_duration_total) + SUM(short_duration_total)) AS awake_duration -->
|
||||
|
||||
<!-- SELECT
|
||||
data_date,
|
||||
SUM(COALESCE(deep_sleep_times, 0)) AS long_duration,
|
||||
SUM(COALESCE(light_sleep_times, 0)) AS short_duration,
|
||||
AVG(COALESCE(deep_sleep_times, 0) + COALESCE(light_sleep_times, 0)) AS average_duration,
|
||||
AVG(COALESCE(light_sleep_times, 0)) AS avg_short_duration,
|
||||
AVG(COALESCE(deep_sleep_times, 0)) AS avg_long_duration,
|
||||
SUM(COALESCE(deep_sleep_times, 0)) + SUM(COALESCE(light_sleep_times, 0)) AS sleep_duration
|
||||
上面这个是正常按照数据库取值的 但是 说深睡浅睡反了 下面的是反着取值的 待排查问题原因-->
|
||||
|
||||
SELECT
|
||||
data_date,
|
||||
SUM(COALESCE(light_sleep_times, 0)) AS long_duration,
|
||||
@@ -300,22 +280,22 @@
|
||||
FROM
|
||||
watch_stat_user_info_day_sleep
|
||||
WHERE
|
||||
data_date BETWEEN DATE_SUB(CURDATE(), INTERVAL
|
||||
data_date BETWEEN
|
||||
<choose>
|
||||
<when test="type == 'day'">0 DAY</when>
|
||||
<when test="type == 'week'">7 DAY</when>
|
||||
<when test="type == 'month'">1 MONTH</when>
|
||||
<when test="type == 'year'">1 YEAR</when>
|
||||
<otherwise>0 DAY</otherwise>
|
||||
<when test="type == 'day'">TRUNC(SYSDATE)</when>
|
||||
<when test="type == 'week'">TRUNC(SYSDATE) - 7</when>
|
||||
<when test="type == 'month'">ADD_MONTHS(TRUNC(SYSDATE), -1)</when>
|
||||
<when test="type == 'year'">ADD_MONTHS(TRUNC(SYSDATE), -12)</when>
|
||||
<otherwise>TRUNC(SYSDATE)</otherwise>
|
||||
</choose>
|
||||
) AND CURDATE()
|
||||
AND SYSDATE
|
||||
<if test="orgCode != null and orgCode != ''">
|
||||
AND org_code like concat('%',#{orgCode},'%')
|
||||
</if>
|
||||
GROUP BY
|
||||
data_date
|
||||
ORDER BY
|
||||
data_date DESC;
|
||||
data_date DESC
|
||||
</select>
|
||||
<select id="findUserNewDataByUserIds" resultType="com.renkang.watch.entity.WatchStatUserInfoDayHeartRate">
|
||||
SELECT
|
||||
@@ -331,22 +311,21 @@
|
||||
</foreach>
|
||||
GROUP BY user_id ) temp
|
||||
ON wsd.user_id = temp.user_id
|
||||
AND wsd.data_date = temp.latest_date;
|
||||
AND wsd.data_date = temp.latest_date
|
||||
</select>
|
||||
|
||||
<!-- 切记 此代码不能直接平移至四合一项目 ,该sql只适用mysql8.0及以上版本 ,四合一项目开发测试环境的mysql版本过低 , 但不影响正式环境-->
|
||||
<insert id="insertStat">
|
||||
INSERT INTO watch_stat_user_info_day_heart_rate ( id, user_id, max_value, min_value, avg_value, silence_max_value, silence_min_value, silence_avg_value, last_upload_time, new_value, silence_new_value, data_date, org_code ) (
|
||||
INSERT INTO watch_stat_user_info_day_heart_rate ( id, user_id, max_value, min_value, avg_value, silence_max_value, silence_min_value, silence_avg_value, last_upload_time, new_value, silence_new_value, data_date, org_code )
|
||||
SELECT
|
||||
#{id,jdbcType=VARCHAR},
|
||||
bind_user_id,
|
||||
IFNULL( MAX( wd.data_value ), 0 ),
|
||||
IFNULL( MIN( wd.data_value ), 0 ),
|
||||
IFNULL( AVG( wd.data_value ), 0 ),
|
||||
IFNULL( MAX( wd.silence_value ), 0 ),
|
||||
IFNULL( MIN( wd.silence_value ), 0 ),
|
||||
IFNULL( AVG( wd.silence_value ), 0 ),
|
||||
IFNULL(MAX( wd.time_stamp ),NOW()),
|
||||
NVL( MAX( wd.data_value ), 0 ),
|
||||
NVL( MIN( wd.data_value ), 0 ),
|
||||
NVL( AVG( wd.data_value ), 0 ),
|
||||
NVL( MAX( wd.silence_value ), 0 ),
|
||||
NVL( MIN( wd.silence_value ), 0 ),
|
||||
NVL( AVG( wd.silence_value ), 0 ),
|
||||
NVL(MAX( wd.time_stamp ),SYSDATE),
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ),
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ),
|
||||
data_date,
|
||||
@@ -354,10 +333,10 @@
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
*,
|
||||
t.*,
|
||||
ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn
|
||||
FROM
|
||||
watch_data_heart_rate
|
||||
watch_data_heart_rate t
|
||||
WHERE
|
||||
bind_user_id = #{userId,jdbcType=VARCHAR}
|
||||
and data_date = #{dataDate,jdbcType=DATE}
|
||||
@@ -365,44 +344,43 @@
|
||||
GROUP BY
|
||||
wd.bind_user_id,
|
||||
wd.data_date
|
||||
);
|
||||
</insert>
|
||||
|
||||
<!-- 切记 此代码不能直接平移至四合一项目 ,该sql只适用mysql8.0及以上版本 ,四合一项目开发测试环境的mysql版本过低 , 但不影响正式环境-->
|
||||
<!-- MySQL 的 UPDATE ... LEFT JOIN ... SET 语法已改写为达梦兼容的 MERGE INTO -->
|
||||
<update id="updateStat">
|
||||
UPDATE watch_stat_user_info_day_heart_rate stat
|
||||
LEFT JOIN (
|
||||
MERGE INTO watch_stat_user_info_day_heart_rate stat
|
||||
USING (
|
||||
SELECT
|
||||
wd.bind_user_id,
|
||||
wd.data_date,
|
||||
IFNULL( MAX( wd.data_value ), 0 ) AS max_value,
|
||||
IFNULL( MIN( wd.data_value ), 0 ) AS min_value,
|
||||
IFNULL( AVG( wd.data_value ), 0 ) AS avg_value,
|
||||
IFNULL( MAX( wd.silence_value ), 0 ) AS silence_max_value,
|
||||
IFNULL( MIN( wd.silence_value ), 0 ) AS silence_min_value,
|
||||
IFNULL( AVG( wd.silence_value ), 0 ) AS silence_avg_value,
|
||||
IFNULL(MAX( wd.time_stamp ),NOW()) AS last_upload_time,
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ) AS new_value,
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ) AS silence_new_value
|
||||
wd.bind_user_id,
|
||||
wd.data_date,
|
||||
NVL( MAX( wd.data_value ), 0 ) AS max_value,
|
||||
NVL( MIN( wd.data_value ), 0 ) AS min_value,
|
||||
NVL( AVG( wd.data_value ), 0 ) AS avg_value,
|
||||
NVL( MAX( wd.silence_value ), 0 ) AS silence_max_value,
|
||||
NVL( MIN( wd.silence_value ), 0 ) AS silence_min_value,
|
||||
NVL( AVG( wd.silence_value ), 0 ) AS silence_avg_value,
|
||||
NVL(MAX( wd.time_stamp ),SYSDATE) AS last_upload_time,
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.data_value END ) AS new_value,
|
||||
MAX( CASE WHEN wd.rn = 1 THEN wd.silence_value END ) AS silence_new_value
|
||||
FROM
|
||||
( SELECT *, ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn FROM watch_data_heart_rate where bind_user_id = #{userId,jdbcType=VARCHAR}
|
||||
and data_date = #{dataDate,jdbcType=DATE} ) wd
|
||||
( SELECT t.*, ROW_NUMBER() OVER ( PARTITION BY bind_user_id, data_date ORDER BY time_stamp DESC ) AS rn
|
||||
FROM watch_data_heart_rate t
|
||||
WHERE bind_user_id = #{userId,jdbcType=VARCHAR}
|
||||
AND data_date = #{dataDate,jdbcType=DATE} ) wd
|
||||
GROUP BY
|
||||
wd.bind_user_id,
|
||||
wd.data_date
|
||||
) DATA ON stat.user_id = DATA.bind_user_id
|
||||
AND stat.data_date = DATA.data_date
|
||||
SET stat.max_value = DATA.max_value,
|
||||
stat.min_value = DATA.min_value,
|
||||
stat.avg_value = DATA.avg_value,
|
||||
stat.silence_max_value = DATA.silence_max_value,
|
||||
stat.silence_min_value = DATA.silence_min_value,
|
||||
stat.silence_avg_value = DATA.silence_avg_value,
|
||||
stat.last_upload_time = DATA.last_upload_time,
|
||||
stat.new_value = DATA.new_value,
|
||||
stat.silence_new_value = COALESCE ( NULLIF( DATA.silence_new_value, 0 ), stat.silence_new_value ),
|
||||
stat.org_code = #{orgCode,jdbcType=VARCHAR}
|
||||
where stat.user_id = #{userId,jdbcType=VARCHAR}
|
||||
and stat.data_date = #{dataDate,jdbcType=DATE};
|
||||
wd.bind_user_id,
|
||||
wd.data_date
|
||||
) DATA ON (stat.user_id = DATA.bind_user_id AND stat.data_date = DATA.data_date)
|
||||
WHEN MATCHED THEN UPDATE SET
|
||||
stat.max_value = DATA.max_value,
|
||||
stat.min_value = DATA.min_value,
|
||||
stat.avg_value = DATA.avg_value,
|
||||
stat.silence_max_value = DATA.silence_max_value,
|
||||
stat.silence_min_value = DATA.silence_min_value,
|
||||
stat.silence_avg_value = DATA.silence_avg_value,
|
||||
stat.last_upload_time = DATA.last_upload_time,
|
||||
stat.new_value = DATA.new_value,
|
||||
stat.silence_new_value = COALESCE ( NULLIF( DATA.silence_new_value, 0 ), stat.silence_new_value ),
|
||||
stat.org_code = #{orgCode,jdbcType=VARCHAR}
|
||||
</update>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
distance_value as distanceValue,
|
||||
calorie_value as calorieValue,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_sdc`
|
||||
WHERE
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
deep_sleep_times as deepSleepTimes,
|
||||
light_sleep_times as lightSleepTimes,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_sleep`
|
||||
WHERE
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
min_value as minValue,
|
||||
avg_value as avgValue,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_spo2`
|
||||
WHERE
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
min_value as minValue,
|
||||
avg_value as avgValue,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_stress`
|
||||
WHERE
|
||||
|
||||
+3
-3
@@ -7,16 +7,16 @@
|
||||
SELECT
|
||||
id as id ,
|
||||
user_id as userId,
|
||||
max_value as `maxValueB`,
|
||||
max_value as maxValueB,
|
||||
min_value as minValueB,
|
||||
avg_value as avgValueB,
|
||||
skin_max_value as skinMaxValueB,
|
||||
skin_min_value as skinMinValueB,
|
||||
skin_avg_value as skinAvgValueB,
|
||||
data_date as dataDate,
|
||||
DATE_FORMAT( data_date, '%m' ) AS dateStr
|
||||
TO_CHAR( data_date, 'MM' ) AS dateStr
|
||||
FROM
|
||||
`watch_stat_user_info_day_temp`
|
||||
watch_stat_user_info_day_temp
|
||||
WHERE
|
||||
YEAR ( data_date )= #{dateYear}
|
||||
and
|
||||
|
||||
+4
-4
@@ -79,24 +79,24 @@
|
||||
|
||||
<select id="distanceMap" resultType="java.util.Map">
|
||||
select data_value dateValue,
|
||||
DATE_FORMAT(sdc_date, '%Y-%m-%d') sdcDate
|
||||
TO_CHAR(sdc_date, 'YYYY-MM-DD') sdcDate
|
||||
from watch_data_distance
|
||||
WHERE sdc_date BETWEEN #{date1} AND #{date2}
|
||||
</select>
|
||||
<select id="heartRateMap" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_heart_rate
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="spo2Map" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_spo2
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="stressMap" resultType="java.util.Map">
|
||||
select data_value dateValue
|
||||
from watch_data_stress
|
||||
WHERE DATE_FORMAT(data_date, '%Y-%m-%d') = #{queryDateStr}
|
||||
WHERE TO_CHAR(data_date, 'YYYY-MM-DD') = #{queryDateStr}
|
||||
</select>
|
||||
<select id="getUserDataByWeekly" resultType="java.util.Map">
|
||||
SELECT 'heart_rate' AS metric, AVG(avg_value) AS value
|
||||
|
||||
Reference in New Issue
Block a user