From a613ae7c3165602fc8927c1ba6bb13edb25649c7 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 06 Nov 2020 12:38:08 +0800
Subject: [PATCH] 定时校准值插入

---
 src/main/java/com/moral/mapper/DeviceAdjustValueTimingMapper.java            |   17 +++++
 src/main/java/com/moral/service/impl/DeviceAdjustValueTimingServiceImpl.java |   38 ++++++++++++
 src/main/java/com/moral/service/DeviceAdjustValueTimingService.java          |   12 ++++
 src/main/resources/mapper/DeviceAdjustValueTimingMapper.xml                  |   29 +++++++++
 src/main/java/com/moral/controller/ScreenController.java                     |   46 +++++++++++++++
 5 files changed, 142 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index e7459a2..8ecd5e6 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -2,6 +2,7 @@
 
 import java.io.*;
 import java.lang.reflect.Array;
+import java.net.URLEncoder;
 import java.text.DateFormat;
 import java.text.DecimalFormat;
 import java.text.ParseException;
@@ -166,6 +167,9 @@
 
     @Resource
     private ScreenVersionService screenVersionService;
+
+    @Resource
+    private DeviceAdjustValueTimingService deviceAdjustValueTimingService;
 
     /**
      * Screen login. ������������
@@ -2550,4 +2554,46 @@
         List<Map<String, Object>> list = historyMinutelyService.getAllDeviceDataToExcel(parameters);
         return new ResultBean<List<Map<String, Object>>>(list);
     }
+
+    /*@PostMapping("insertAdjustValue")
+    @ApiOperation(value = "���������������������������������", notes = "���������������������������������")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "id", value = "������id", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "time", value = "���������������08:30:00���", required = true, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "dataArray", value = "������", required = false, paramType = "query", dataType = "String")})
+    public void insertAdjustValue(HttpServletRequest request) throws Exception {
+        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+        int device_id = Integer.parseInt(parameters.get("id").toString());
+        String hour_minute_second = parameters.get("time").toString();
+        String[] arr = hour_minute_second.split(":");
+        int seconds = Integer.parseInt(arr[0])*3600+Integer.parseInt(arr[1])*60+Integer.parseInt(arr[2]);
+        String value = parameters.get("dataArray").toString();
+        deviceAdjustValueTimingService.insertData(device_id,seconds,value);;
+    }*/
+
+    @PostMapping("insertAdjustValue")
+    public  int insertAdjustValue(@RequestBody HashMap map){
+        try{
+            int device_id = Integer.parseInt(map.get("id").toString());
+            String time = map.get("time").toString();
+            String[] arr = time.split(":");
+            int seconds = Integer.parseInt(arr[0])*3600+Integer.parseInt(arr[1])*60+Integer.parseInt(arr[2]);
+            //String t = URLEncoder.encode(������,"UTF-8")
+            List list = (List) map.get("dataArray");
+            String val="";
+            for (int i = 0; i <list.size() ; i++) {
+                if (i==0){
+                    val=val+list.get(i);
+                }else {
+                    val=val+","+list.get(i);
+                }
+            }
+            String value = "{"+val+"}";
+            deviceAdjustValueTimingService.insertData(device_id,seconds,value);
+            return 1;
+        }catch (Exception e){
+            log.warn(e);
+        }
+        return 0;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/DeviceAdjustValueTimingMapper.java b/src/main/java/com/moral/mapper/DeviceAdjustValueTimingMapper.java
new file mode 100644
index 0000000..4e2e73c
--- /dev/null
+++ b/src/main/java/com/moral/mapper/DeviceAdjustValueTimingMapper.java
@@ -0,0 +1,17 @@
+package com.moral.mapper;
+
+
+import com.moral.common.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+public interface DeviceAdjustValueTimingMapper{
+	Map<String, Object> selectAllByDeviceid(@Param("device_id")Integer device_id);
+
+	Map<String, Object> selectAllByDeviceidAndSeconds(@Param("device_id")Integer device_id,@Param("seconds")Integer seconds);
+
+	void insertData(@Param("device_id")Integer device_id,@Param("seconds")Integer seconds,@Param("value")String value,@Param("create_time")String create_time);
+
+	void upDataByDeviceid(@Param("value")String value,@Param("update_time")String update_time,@Param("device_id")Integer device_id);
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/DeviceAdjustValueTimingService.java b/src/main/java/com/moral/service/DeviceAdjustValueTimingService.java
new file mode 100644
index 0000000..61ed6d6
--- /dev/null
+++ b/src/main/java/com/moral/service/DeviceAdjustValueTimingService.java
@@ -0,0 +1,12 @@
+package com.moral.service;
+
+import com.moral.common.bean.PageBean;
+import com.moral.entity.DeviceAdjustValue;
+
+import java.util.Map;
+
+public interface DeviceAdjustValueTimingService {
+    Map<String, Object> getDataByDeviceid(Integer device_id);
+
+    void insertData(int device_id,int seconds,String value);
+}
diff --git a/src/main/java/com/moral/service/impl/DeviceAdjustValueTimingServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceAdjustValueTimingServiceImpl.java
new file mode 100644
index 0000000..8044083
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/DeviceAdjustValueTimingServiceImpl.java
@@ -0,0 +1,38 @@
+package com.moral.service.impl;
+
+import com.moral.mapper.DeviceAdjustValueTimingMapper;
+import com.moral.service.DeviceAdjustValueTimingService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
+@Service
+public class DeviceAdjustValueTimingServiceImpl implements DeviceAdjustValueTimingService {
+
+    @Resource
+    private DeviceAdjustValueTimingMapper deviceAdjustValueTimingMapper;
+
+    @Override
+    public Map<String, Object> getDataByDeviceid(Integer device_id) {
+        Map<String, Object> result = deviceAdjustValueTimingMapper.selectAllByDeviceid(device_id);
+        return result;
+    }
+
+    @Override
+    public void insertData(int device_id, int seconds, String value) {
+        //������������������������������������
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        LocalDateTime time = LocalDateTime.now();
+        String nowTime = df.format(time);
+        //���������device_id������������������������������������������������������������������������
+        Map<String,Object> deviceAdjustValueTimingMap = deviceAdjustValueTimingMapper.selectAllByDeviceidAndSeconds(device_id,seconds);
+        //���������������������������������������������������������������������������������
+        if (deviceAdjustValueTimingMap == null){
+            deviceAdjustValueTimingMapper.insertData(device_id,seconds,value,nowTime);
+        }else {
+            deviceAdjustValueTimingMapper.upDataByDeviceid(value,nowTime,device_id);
+        }
+    }
+}
diff --git a/src/main/resources/mapper/DeviceAdjustValueTimingMapper.xml b/src/main/resources/mapper/DeviceAdjustValueTimingMapper.xml
new file mode 100644
index 0000000..cd2cffb
--- /dev/null
+++ b/src/main/resources/mapper/DeviceAdjustValueTimingMapper.xml
@@ -0,0 +1,29 @@
+<?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.DeviceAdjustValueTimingMapper">
+    <select id="selectAllByDeviceid" resultType="java.util.Map">
+        SELECT * FROM device_adjust_value_timing
+        WHERE device_id = #{device_id}
+    </select>
+
+    <!--������device_id���seconds������-->
+    <select id="selectAllByDeviceidAndSeconds" resultType="java.util.Map">
+        SELECT * FROM device_adjust_value_timing
+        WHERE device_id = #{device_id}
+        AND seconds = #{seconds}
+    </select>
+
+    <!--������������-->
+    <insert id="insertData">
+        INSERT INTO device_adjust_value_timing (device_id,seconds,value,create_time)
+        VALUES(#{device_id},#{seconds},#{value},#{create_time})
+    </insert>
+
+    <!--������������-->
+    <update id="upDataByDeviceid">
+        UPDATE device_adjust_value_timing
+        SET value = #{value},update_time = #{update_time}
+        WHERE device_id = #{device_id}
+    </update>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0