From 25a977a6408fe6ba20ddacf6f43bee2fe93eb17b Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Tue, 05 Sep 2023 08:41:00 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into wb

---
 screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java       |   25 ++++++------
 screen-api/src/main/java/com/moral/api/vo/HistoryHourlyVo.java                          |    1 
 screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java |    2 +
 screen-manage/src/main/java/com/moral/api/service/DeviceService.java                    |    2 +
 screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java           |   10 +++++
 screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java                         |    2 +
 screen-manage/src/main/java/com/moral/api/controller/PubController.java                 |   20 ++++++++++
 screen-api/src/main/resources/mapper/DeviceMapper.xml                                   |    4 ++
 8 files changed, 53 insertions(+), 13 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
index 0f56b49..f4f0bad 100644
--- a/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
+++ b/screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -32,4 +32,6 @@
 
     List<Integer> deviceOrgIdList(@Param("organizationId") int organizationId);
 
+    List<String> deviceMacs(@Param("organizationId") int organizationId);
+
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
index 130fa2e..0a3d387 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -73,6 +73,8 @@
         }
         if (form.getChooseTime().equals("true")) {
             endHourlyTime = form.getTime();
+            Date time = DateUtils.convertDate(endHourlyTime);
+            times = DateUtils.dateToDateString(time,DateUtils.yyyyMM_EN);
         }
         List<Map<String, Object>> listAll = deviceMapper.deviceList(organizationId,regionCode,region,type,sensorCode,times,endHourlyTime);
         //���������������������������������������������������
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
index 1ab821c..837adeb 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistoryHourlyServiceImpl.java
@@ -6,6 +6,7 @@
 import com.moral.api.mapper.ServicesScopeDeviceMapper;
 import com.moral.api.mapper.ServicesScopeMapper;
 import com.moral.api.vo.HistoryHourlyVo;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -877,16 +878,14 @@
 
     @Override
     public boolean historyHourly(HistoryHourlyVo historyHourlyVo) {
-
-        /*String time = "2023-08-27 05:00:00";
-        String table = "202308";
-        String timeEnd = "2023-08-27 05:00:00";
-        String tableEnd = "202308";*/
         String time = historyHourlyVo.getTime();
         String table = historyHourlyVo.getTable();
         String timeEnd = historyHourlyVo.getTimeEnd();
         String tableEnd =historyHourlyVo.getTableEnd();
-        List<String> macList = Arrays.asList("p5dnd7a0245406","p5dnd7a0245427","p5dnd7a0245412","p5dnd7a0245400","p5dnd7a0245472","p5dnd7a0245384","p5dnd7a0245374","p5dnd7a0245401","p5dnd7a0245423","p5dnd7a0245438","p5dnd7a0245363","p5dnd7a0245375","p5dnd7a0245444","p5dnd7a0245437","p5dnd7a0245367","p5dnd7a0245392","p5dnd7a0245471","p5dnd7a0245433","p5dnd7a0245361","p5dnd7a0245362","p5dnd7a0245436","p5dnd7a0245373","p5dnd7a0245370","p5dnd7a0245357","p5dnd7a0245434","p5dnd7a0245353","p5dnd7a0245381","p5dnd7a0245421","p5dnd7a0245399","p5dnd7a0245409","p5dnd7a0245422","p5dnd7a0245470","p5dnd7a0245359","p5dnd7a0245393","p5dnd7a0245371","p5dnd7a0245382","p5dnd7a0245385","p5dnd7a0245443","p5dnd7a0245424","p5dnd7a0245369","p5dnd7a0245389","p5dnd7a0245391","p5dnd7a0245356","p5dnd7a0245396","p5dnd7a0243567","p5dnd7a0243568");
+        List<String> macList = deviceMapper.deviceMacs(historyHourlyVo.getOrganizationId());
+        if(CollectionUtils.isEmpty(macList)){
+            return false;
+        }
         List<Map<String,Object>>  listMap = historyHourlyMapper.selectDataByMacsAndTime(table, macList, time);
         for (Map historyHourlyData : listMap) {
             String mac = historyHourlyData.get("mac").toString();
@@ -894,13 +893,13 @@
             Map<String, Object> dataResult = new HashMap<>();
             dataResult = data;
             //a34004:pm2.5   a34002:pm10  a05024:O3  a21005:CO  a21026:So2  a21004:NO2 a99054:tovc
-            dataResult.put("a34004",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a34004").toString())+historyHourlyVo.getA34004())));
-            dataResult.put("a34002",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a34002").toString())+historyHourlyVo.getA34002())));
-            dataResult.put("a05024",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a05024").toString())+historyHourlyVo.getA05024())));
-            dataResult.put("a21005",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21005").toString())+historyHourlyVo.getA21005())));
-            dataResult.put("a21026",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21026").toString())+historyHourlyVo.getA21026())));
-            dataResult.put("a21004",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21004").toString())+historyHourlyVo.getA21004())));
-            dataResult.put("a99054",Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a99054").toString())+historyHourlyVo.getA99054())));
+            dataResult.put("a34004",Objects.isNull(data.get("a34004"))||data.get("a34004").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a34004").toString())+historyHourlyVo.getA34004())));
+            dataResult.put("a34002",Objects.isNull(data.get("a34002"))||data.get("a34002").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a34002").toString())+historyHourlyVo.getA34002())));
+            dataResult.put("a05024",Objects.isNull(data.get("a05024"))||data.get("a05024").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a05024").toString())+historyHourlyVo.getA05024())));
+            dataResult.put("a21005",Objects.isNull(data.get("a21005"))||data.get("a21005").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21005").toString())+historyHourlyVo.getA21005())));
+            dataResult.put("a21026",Objects.isNull(data.get("a21026"))||data.get("a21026").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21026").toString())+historyHourlyVo.getA21026())));
+            dataResult.put("a21004",Objects.isNull(data.get("a21004"))||data.get("a21004").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a21004").toString())+historyHourlyVo.getA21004())));
+            dataResult.put("a99054",Objects.isNull(data.get("a99054"))||data.get("a99054").toString().equals("0")?0d:Double.parseDouble(String.format("%.4f",Double.parseDouble(data.get("a99054").toString())+historyHourlyVo.getA99054())));
             Map<String, Object> map = new HashMap<>();
             map.put("timeUnits",tableEnd);
             map.put("time",timeEnd);
diff --git a/screen-api/src/main/java/com/moral/api/vo/HistoryHourlyVo.java b/screen-api/src/main/java/com/moral/api/vo/HistoryHourlyVo.java
index 2f56fb0..496576c 100644
--- a/screen-api/src/main/java/com/moral/api/vo/HistoryHourlyVo.java
+++ b/screen-api/src/main/java/com/moral/api/vo/HistoryHourlyVo.java
@@ -38,6 +38,7 @@
 
     private Double a99054;
 
+    private int organizationId;
     public Double getA34004() {
         return Objects.nonNull(a34004)?a34004:0d;
     }
diff --git a/screen-api/src/main/resources/mapper/DeviceMapper.xml b/screen-api/src/main/resources/mapper/DeviceMapper.xml
index 48c7c3a..b2de3cc 100644
--- a/screen-api/src/main/resources/mapper/DeviceMapper.xml
+++ b/screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -188,4 +188,8 @@
                     i.is_delete = 0
             ) t3
     </select>
+    <select id="deviceMacs" resultType="java.lang.String">
+        select mac from device where organization_id = #{organizationId} order by id desc
+
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/java/com/moral/api/controller/PubController.java b/screen-manage/src/main/java/com/moral/api/controller/PubController.java
index 128bf4a..8ab4929 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/PubController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/PubController.java
@@ -7,6 +7,7 @@
 import com.moral.api.pojo.form.user.UserUpdateForm;
 import com.moral.api.pojo.vo.user.UserQueryVO;
 import com.moral.api.service.DeviceAdjustValueService;
+import com.moral.api.service.DeviceService;
 import com.moral.api.service.UserService;
 import com.moral.api.util.CacheUtils;
 import com.moral.constant.ResponseCodeEnum;
@@ -36,6 +37,8 @@
 public class PubController {
     @Autowired
     private CacheUtils cacheUtils;
+    @Autowired
+    private DeviceService deviceService;
     @Resource
     private DeviceAdjustValueService deviceAdjustValueService;
 
@@ -70,4 +73,21 @@
         return new ResultMessage();
     }
 
+    @GetMapping(value = "device")
+    @ApiOperation(value = "redis������������device", notes = "redis������������device")
+    public ResultMessage device() {
+        deviceService.setRedisDevice();
+        return new ResultMessage();
+    }
+
+    @GetMapping(value = "selectDeviceInfoById")
+    @ApiOperation(value = "������������", notes = "������������")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+    })
+    public ResultMessage selectDeviceInfoById(Integer mac) {
+        Map<String,Object> resultMap = deviceService.selectDeviceInfoById(mac);
+        return new ResultMessage();
+    }
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/DeviceService.java b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
index 899c7ae..e67f393 100644
--- a/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
@@ -73,4 +73,6 @@
      **/
     List<Map<String,Object>> selectMonitorPiontAndDeviceByOrgId(int orgId);
 
+    void setRedisDevice();
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index a747d6e..ade5420 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.googlecode.aviator.AviatorEvaluator;
 import com.googlecode.aviator.Expression;
@@ -623,4 +624,13 @@
             organizationUnitAlarmMapper.update(null, deleteWrapper);
         }
     }
+
+    @Override
+    public void setRedisDevice() {
+        List<Device> list = lambdaQuery().eq(Device::getIsDelete,0).list();
+        for(Device d : list){
+           Map<String, Object> deviceInfo = selectDeviceInfoById(d.getId());
+           setDeviceInfoToRedis(d.getMac(), deviceInfo);
+        }
+    }
 }

--
Gitblit v1.8.0