From c534d4ac66958e9f2e9be2d9d7587c55fb3bb42f Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Fri, 17 Apr 2020 11:12:27 +0800
Subject: [PATCH] add 走航车等设备的history表数据重新存一份

---
 src/main/resources/mapper/HistoryMapper.xml |  176 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 97 insertions(+), 79 deletions(-)

diff --git a/src/main/resources/mapper/HistoryMapper.xml b/src/main/resources/mapper/HistoryMapper.xml
index 823b530..b2b22d9 100644
--- a/src/main/resources/mapper/HistoryMapper.xml
+++ b/src/main/resources/mapper/HistoryMapper.xml
@@ -1,91 +1,91 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.moral.mapper.HistoryMapper">
-  <resultMap id="BaseResultMap" type="com.moral.entity.History">
-    <result column="mac" jdbcType="VARCHAR" property="mac" />
-    <result column="value" jdbcType="OTHER" property="value" />
-    <result column="time" jdbcType="TIMESTAMP" property="time" />
-    <result column="version" jdbcType="INTEGER" property="version" />
-  </resultMap>
-  <insert id="insert" parameterType="com.moral.entity.History">
+    <resultMap id="BaseResultMap" type="com.moral.entity.History">
+        <result column="mac" jdbcType="VARCHAR" property="mac"/>
+        <result column="value" jdbcType="OTHER" property="value"/>
+        <result column="time" jdbcType="TIMESTAMP" property="time"/>
+        <result column="version" jdbcType="INTEGER" property="version"/>
+    </resultMap>
+    <insert id="insert" parameterType="com.moral.entity.History">
     insert into history (mac, value, time, 
       version)
     values (#{mac,jdbcType=VARCHAR}, #{value,jdbcType=OTHER}, #{time,jdbcType=TIMESTAMP}, 
       #{version,jdbcType=INTEGER})
   </insert>
-  <insert id="insertSelective" parameterType="com.moral.entity.History">
-    insert into history
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="mac != null">
-        mac,
-      </if>
-      <if test="value != null">
-        value,
-      </if>
-      <if test="time != null">
-        time,
-      </if>
-      <if test="version != null">
-        version,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="mac != null">
-        #{mac,jdbcType=VARCHAR},
-      </if>
-      <if test="value != null">
-        #{value,jdbcType=OTHER},
-      </if>
-      <if test="time != null">
-        #{time,jdbcType=TIMESTAMP},
-      </if>
-      <if test="version != null">
-        #{version,jdbcType=INTEGER},
-      </if>
-    </trim>
-  </insert>
-	<select id="getAvgData" resultType="java.util.Map">
-		SELECT
-			<foreach  collection="sensorKeys" separator="," item="sensorKey">
-				AVG(value->'$.${sensorKey}') AS '${sensorKey}'
-			</foreach>
-		FROM
-			history h
-		WHERE
-			h.time >= #{start}
-		AND h.time <![CDATA[<]]> #{end}
-		AND	h.mac = #{mac}
-	</select>
-	<select id="getMaxAndMinData" resultType="java.util.Map">
-		SELECT
-			<foreach  collection="sensorKeys" separator="," item="sensorKey">
-				max(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'max${sensorKey}',
-            	MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'min${sensorKey}'
-			</foreach>
-		FROM
-			history h
-		WHERE
-			h.time >= #{start}
-		AND h.time <![CDATA[<]]> #{end}
-		AND	h.mac = #{mac}
-	</select>
-	<select id="getMinData" resultType="java.util.Map">
-		SELECT
-			<foreach  collection="sensorKeys" separator="," item="sensorKey">
-				MIN(value->'$.${sensorKey}') AS '${sensorKey}'
-			</foreach>
-		FROM
-			history h
-		WHERE
-			h.time >= #{start}
-		AND h.time <![CDATA[<]]> #{end}
-		AND	h.mac = #{mac}
-	</select>
+    <insert id="insertSelective" parameterType="com.moral.entity.History">
+        insert into history
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="mac != null">
+                mac,
+            </if>
+            <if test="value != null">
+                value,
+            </if>
+            <if test="time != null">
+                time,
+            </if>
+            <if test="version != null">
+                version,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="mac != null">
+                #{mac,jdbcType=VARCHAR},
+            </if>
+            <if test="value != null">
+                #{value,jdbcType=OTHER},
+            </if>
+            <if test="time != null">
+                #{time,jdbcType=TIMESTAMP},
+            </if>
+            <if test="version != null">
+                #{version,jdbcType=INTEGER},
+            </if>
+        </trim>
+    </insert>
+    <select id="getAvgData" resultType="java.util.Map">
+        SELECT
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
+            AVG(value->'$.${sensorKey}') AS '${sensorKey}'
+        </foreach>
+        FROM
+        history h
+        WHERE
+        h.time >= #{start}
+        AND h.time <![CDATA[<]]> #{end}
+        AND h.mac = #{mac}
+    </select>
+    <select id="getMaxAndMinData" resultType="java.util.Map">
+        SELECT
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
+            max(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'max${sensorKey}',
+            MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'min${sensorKey}'
+        </foreach>
+        FROM
+        history h
+        WHERE
+        h.time >= #{start}
+        AND h.time <![CDATA[<]]> #{end}
+        AND h.mac = #{mac}
+    </select>
+    <select id="getMinData" resultType="java.util.Map">
+        SELECT
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
+            MIN(value->'$.${sensorKey}') AS '${sensorKey}'
+        </foreach>
+        FROM
+        history h
+        WHERE
+        h.time >= #{start}
+        AND h.time <![CDATA[<]]> #{end}
+        AND h.mac = #{mac}
+    </select>
 
     <select id="getSensorData" resultType="java.util.LinkedHashMap">
         SELECT
         h.mac,
-        <foreach  collection="sensorKeys" separator="," item="sensorKey">
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
             AVG(value->'$.${sensorKey}') AS '${sensorKey}',
             MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}',
             MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}'
@@ -102,7 +102,7 @@
     <select id="getSensorDataByMac" resultType="java.util.LinkedHashMap">
         SELECT
         h.mac,
-        <foreach  collection="sensorKeys" separator="," item="sensorKey">
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
             AVG(value->'$.${sensorKey}') AS '${sensorKey}',
             MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}',
             MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}'
@@ -123,7 +123,7 @@
     <select id="getSensorDataByMacOnce" resultType="java.util.LinkedHashMap">
         SELECT
         h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time,
-        <foreach  collection="sensorKeys" separator="," item="sensorKey">
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
             AVG(value->'$.${sensorKey}') AS '${sensorKey}',
             MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}',
             MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}'
@@ -144,7 +144,7 @@
     <select id="getSensorDataOnce" resultType="java.util.LinkedHashMap">
         SELECT
         h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i') time,
-        <foreach  collection="sensorKeys" separator="," item="sensorKey">
+        <foreach collection="sensorKeys" separator="," item="sensorKey">
             AVG(value->'$.${sensorKey}') AS '${sensorKey}',
             MAX(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MAX${sensorKey}',
             MIN(cast(h.value ->'$.${sensorKey}' as decimal(11,3))) AS 'MIN${sensorKey}'
@@ -158,4 +158,22 @@
         h.mac,DATE_FORMAT(time,'%Y-%m-%dT%H:%i')
     </select>
 
+    <select id="selectByMacAndTime" resultType="com.moral.entity.History">
+        SELECT *
+        from history
+        WHERE time = #{time} and mac in
+        <foreach collection="macList" index="index" item="mac" open="(" separator="," close=")">
+            #{mac}
+        </foreach>
+    </select>
+
+    <insert id="insertHistorySpecialTable">
+        insert into
+        history_special(mac, value, time,version)
+        SELECT * from history WHERE time = #{time} and mac in
+        <foreach collection="macList" index="index" item="mac" open="(" separator="," close=")">
+            #{mac}
+        </foreach>
+    </insert>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0