소스 검색

首页查询

hxf 1 년 전
부모
커밋
b325c1982c

+ 0 - 9
wps-biz/src/main/java/com/jiayue/biz/conf/Channel.java

@@ -55,15 +55,6 @@ public class Channel {
 
     private HashMap<String, ModbusTcpMasterBuilder> masterMap;
 
-    private List<EnvironmentalData> environmentalDataList;
-
-
-    //获取数据
-    public List<EnvironmentalData> getEnvironmentalDataList() {
-        return this.environmentalDataList;
-    }
-
-
     @Bean
     public void timingTunnel() {
         List<TunnelInfo> tunnelInfoList = tunnelInfoService.list();

+ 22 - 10
wps-biz/src/main/java/com/jiayue/biz/controller/EnvironmentalDataController.java

@@ -1,9 +1,6 @@
 package com.jiayue.biz.controller;
 
-import com.jiayue.biz.domain.EnvironmentalData;
 import com.jiayue.biz.service.EnvironmentalDataService;
-import com.jiayue.biz.service.WeatherLookService;
-import com.jiayue.common.annotation.Log;
 import com.jiayue.common.core.controller.BaseController;
 import com.jiayue.common.core.domain.AjaxResult;
 
@@ -11,19 +8,34 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
 
 @RequiredArgsConstructor(onConstructor_ = @Autowired)
 @RestController
 @RequestMapping("/environmentalData")
 public class EnvironmentalDataController extends BaseController {
     private final EnvironmentalDataService environmentalDataService;
+
+
     @GetMapping
-    public AjaxResult infoList(String weatherLookNo, long startTime, long endTime) {
-        List<EnvironmentalData> environmentalData = environmentalDataService.selectData(weatherLookNo, new Timestamp(startTime), new Timestamp(endTime));
-        return AjaxResult.success(environmentalData);
+    public AjaxResult selectAllData(String weatherLookNo, long startTime, long endTime) {
+        return AjaxResult.success(environmentalDataService.selectAllData(weatherLookNo, startTime, endTime));
+    }
+
+    @GetMapping("/selectWindData")
+    public AjaxResult selectWindData(String weatherLookNo, long startTime, long endTime) {
+        return AjaxResult.success(environmentalDataService.selectWindData(weatherLookNo, startTime, endTime));
+    }
+
+    @GetMapping("/selectWeatherData")
+    public AjaxResult selectWeatherData(String weatherLookNo, long startTime, long endTime) {
+        return AjaxResult.success(environmentalDataService.selectWeatherData(weatherLookNo, startTime, endTime));
     }
+
+
+    @GetMapping("/selectHomePage")
+    public AjaxResult selectHomePage(String weatherLookNo) {
+        return AjaxResult.success(environmentalDataService.selectHomePage(weatherLookNo));
+    }
+
+
 }

+ 7 - 1
wps-biz/src/main/java/com/jiayue/biz/mapper/EnvironmentalDataMapper.java

@@ -1,5 +1,6 @@
 package com.jiayue.biz.mapper;
 
+import cn.hutool.db.Entity;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jiayue.biz.domain.EnvironmentalData;
@@ -15,6 +16,11 @@ public interface EnvironmentalDataMapper extends BaseMapper<EnvironmentalData> {
     @Select("insert into environmental_${weatherLookNo} USING environmental_data TAGS(#{weatherLookNo}) values(#{ts},#{ws},#{wd},#{t},#{rh},#{pa})")
     public void insertOne(EnvironmentalData environmentalData);
 
-    @Select("select * from environmental_${weatherLookNo} where weatherLook_no = #{weatherLookNo} and ts >= #{startTime} and ts <= #{endTime}")
+    @Select("select * from environmental_${weatherLookNo} where ts >= #{startTime} and ts <= #{endTime}")
     List<EnvironmentalData> selectEnvironmentalData(@Param("weatherLookNo") String weatherLookNo, @Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime);
+
+
+    @Select("select last (ts) from environmental_${weatherLookNo}")
+    List<Entity> getLastData(@Param("weatherLookNo") String weatherLookNo);
+
 }

+ 9 - 1
wps-biz/src/main/java/com/jiayue/biz/service/EnvironmentalDataService.java

@@ -4,10 +4,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.jiayue.biz.domain.EnvironmentalData;
 
 import java.sql.Timestamp;
+import java.util.HashMap;
 import java.util.List;
 
 public interface EnvironmentalDataService extends IService<EnvironmentalData> {
     void insertOne(EnvironmentalData environmentalData);
     //查询所有数据
-    List<EnvironmentalData> selectData(String weatherLookNo, Timestamp startTime, Timestamp endTime);
+    List<EnvironmentalData> selectAllData(String weatherLookNo, Long startTime, Long endTime);
+    //查询风数据
+    HashMap<String, List<String>> selectWindData(String weatherLookNo, Long startTime, Long endTime);
+    //查询环境数据
+    HashMap<String, List<String>> selectWeatherData(String weatherLookNo, Long startTime, Long endTime);
+    // 查询首页数据
+    HashMap<String, Object> selectHomePage(String weatherLookNo);
+
 }

+ 124 - 3
wps-biz/src/main/java/com/jiayue/biz/service/impl/EnvironmentalDataServiceImpl.java

@@ -1,13 +1,19 @@
 package com.jiayue.biz.service.impl;
 
+import cn.hutool.db.Entity;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jiayue.biz.domain.EnvironmentalData;
 import com.jiayue.biz.mapper.EnvironmentalDataMapper;
 import com.jiayue.biz.service.EnvironmentalDataService;
+import com.jiayue.common.utils.DateUtil;
 import org.springframework.stereotype.Service;
 
 import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class EnvironmentalDataServiceImpl extends ServiceImpl<EnvironmentalDataMapper, EnvironmentalData> implements EnvironmentalDataService {
@@ -16,9 +22,124 @@ public class EnvironmentalDataServiceImpl extends ServiceImpl<EnvironmentalDataM
         baseMapper.insertOne(environmentalData);
     }
 
-    @Override
-    public List<EnvironmentalData> selectData(String weatherLookNo, Timestamp startTime, Timestamp endTime) {
-        return baseMapper.selectEnvironmentalData(weatherLookNo, startTime, endTime);
+
+    public List<EnvironmentalData> selectAllData(String weatherLookNo, Long startTime, Long endTime) {
+        return baseMapper.selectEnvironmentalData(weatherLookNo, new Timestamp(startTime), new Timestamp(endTime));
+
+    }
+
+    /**
+     * @param weatherLookNo 环境监测仪编号
+     * @param startTime     开始时间
+     * @param endTime       结束时间
+     * @return 风速 风向 时间 集合
+     */
+    public HashMap<String, List<String>> selectWindData(String weatherLookNo, Long startTime, Long endTime) {
+        List<EnvironmentalData> environmentalData = baseMapper.selectEnvironmentalData(weatherLookNo, new Timestamp(startTime), new Timestamp(endTime));
+        HashMap<String, List<String>> dataMap = new HashMap<>();
+        ArrayList<String> wsList = new ArrayList<>();
+        ArrayList<String> wdList = new ArrayList<>();
+        ArrayList<String> timeList = new ArrayList<>();
+        for (long i = startTime; i < endTime; i = i + 600000) {
+            String ws = "0";
+            String wd = "0";
+            long finalI = i;
+            List<EnvironmentalData> environmentalDataList = environmentalData.stream().filter(e -> e.getTs().getTime() >= finalI && e.getTs().getTime() < finalI + 600000).collect(Collectors.toList());
+            timeList.add(DateUtil.format(new Date(i), "yyyy-MM-dd HH:mm"));
+            if (environmentalDataList.size() != 0) {
+                ws = environmentalDataList.get(0).getWs().toString();
+                wd = environmentalDataList.get(0).getWd().toString();
+            }
+            wsList.add(ws);
+            wdList.add(wd);
+
+        }
+        dataMap.put("wsList", wsList);
+        dataMap.put("wdList", wdList);
+        dataMap.put("timeList", timeList);
+        return dataMap;
+
+    }
+
+    /**
+     * @param weatherLookNo 环境监测仪编号
+     * @param startTime     开始时间
+     * @param endTime       结束时间
+     * @return 温湿压 时间 集合
+     */
+    public HashMap<String, List<String>> selectWeatherData(String weatherLookNo, Long startTime, Long endTime) {
+        List<EnvironmentalData> environmentalData = baseMapper.selectEnvironmentalData(weatherLookNo, new Timestamp(startTime), new Timestamp(endTime));
+        HashMap<String, List<String>> dataMap = new HashMap<>();
+        ArrayList<String> tList = new ArrayList<>();
+        ArrayList<String> rhList = new ArrayList<>();
+        ArrayList<String> paList = new ArrayList<>();
+        ArrayList<String> timeList = new ArrayList<>();
+        for (long i = startTime; i < endTime; i = i + 600000) {
+            String t = "0";
+            String rh = "0";
+            String pa = "0";
+            long finalI = i;
+            List<EnvironmentalData> environmentalDataList = environmentalData.stream().filter(e -> e.getTs().getTime() >= finalI && e.getTs().getTime() < finalI + 600000).collect(Collectors.toList());
+            if (environmentalDataList.size() != 0) {
+                t = environmentalDataList.get(0).getT().toString();
+                rh = environmentalDataList.get(0).getRh().toString();
+                pa = environmentalDataList.get(0).getPa().toString();
+            }
+            timeList.add(DateUtil.format(new Date(i), "yyyy-MM-dd HH:mm"));
+            tList.add(t);
+            rhList.add(rh);
+            paList.add(pa);
+
+        }
+        dataMap.put("tList", tList);
+        dataMap.put("rhList", rhList);
+        dataMap.put("paList", paList);
+        dataMap.put("timeList", timeList);
+        return dataMap;
+
+    }
+
+
+    /**
+     * @param weatherLookNo 环境监测仪编号
+     * @return 风速风向时间 集合 温湿压
+     */
+    public HashMap<String, Object> selectHomePage(String weatherLookNo) {
+        Long startTime = DateUtil.beginOfDay(new Date()).getTime();
+        Long endTime = new Date().getTime();
+        List<EnvironmentalData> environmentalData = baseMapper.selectEnvironmentalData(weatherLookNo, new Timestamp(startTime), new Timestamp(endTime));
+        HashMap<String, Object> dataMap = new HashMap<>();
+        ArrayList<String> wsList = new ArrayList<>();
+        ArrayList<String> wdList = new ArrayList<>();
+        ArrayList<String> timeList = new ArrayList<>();
+        for (long i = startTime; i < endTime; i = i + 600000) {
+            String ws = "0";
+            String wd = "0";
+            long finalI = i;
+            List<EnvironmentalData> environmentalDataList = environmentalData.stream().filter(e -> e.getTs().getTime() >= finalI && e.getTs().getTime() < finalI + 600000).collect(Collectors.toList());
+            timeList.add(DateUtil.format(new Date(i), "yyyy-MM-dd HH:mm"));
+            if (environmentalDataList.size() != 0) {
+                ws = environmentalDataList.get(0).getWs().toString();
+                wd = environmentalDataList.get(0).getWd().toString();
+            }
+            wsList.add(ws);
+            wdList.add(wd);
+
+        }
+        //获取最后一条的时间
+        List<Entity> lastData = baseMapper.getLastData(weatherLookNo);
+        Timestamp timeEnd = (Timestamp) lastData.get(0).get("last (ts)");
+        List<EnvironmentalData> environmentalDataList = environmentalData.stream().filter(e -> e.getTs().getTime() == timeEnd.getTime()).collect(Collectors.toList());
+        if(environmentalDataList.size() != 0){
+            dataMap.put("t", environmentalDataList.get(0).getT());
+            dataMap.put("rh", environmentalDataList.get(0).getRh());
+            dataMap.put("pa", environmentalDataList.get(0).getPa());
+        }
+        dataMap.put("wsList", wsList);
+        dataMap.put("wdList", wdList);
+        dataMap.put("timeList", timeList);
+        return dataMap;
+
     }