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