From 28923b3d67c58b032bc4ff128aa1d5e62d73dba1 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 02 Feb 2024 10:07:58 +0800
Subject: [PATCH] fix:提交实时在线率接口

---
 screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 1 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
index b16ba1d..6583cef 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.moral.api.config.Interceptor.UserHelper;
 import com.moral.api.dto.MonitoringStationDTO;
 import com.moral.api.entity.*;
 import com.moral.api.mapper.DeviceMapper;
@@ -10,6 +11,7 @@
 import com.moral.api.mapper.MonitorPointMapper;
 import com.moral.api.mapper.SensorMapper;
 import com.moral.api.pojo.form.device.MonitorPointQueryForm;
+import com.moral.api.pojo.vo.user.QxUser;
 import com.moral.api.service.DeviceService;
 import com.moral.api.service.HistoryDailyService;
 import com.moral.api.service.HistoryHourlyService;
@@ -24,6 +26,7 @@
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 import springfox.documentation.schema.Entry;
 
 import java.math.BigDecimal;
@@ -518,11 +521,69 @@
         return resultList;
     }
 
+    /**
+     * ������������������������
+     *
+     * @return
+     */
+    @Override
+    public List<MonitorPoint> getOrganizations() {
+        QueryWrapper<MonitorPoint> wrapper = new QueryWrapper<>();
+        wrapper.select("id","name");
+        QxUser user = UserHelper.getCurrentUser();
+        Integer organizationId = user.getOrganizationId();
+        List<Integer> monitorPointiIds = monitorPointMapper.getMonitorPointiId(organizationId);
+        if (organizationId!=24){
+            wrapper.in("id",monitorPointiIds);
+        }
+        wrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<MonitorPoint> monitorPoints = monitorPointMapper.selectList(wrapper);
+        for (int i = 0; i < monitorPoints.size(); i++) {
+            List<Device> organizationDevice = deviceService.getOrganizationDevice(monitorPoints.get(i).getId());
+            if (ObjectUtils.isEmpty(organizationDevice)){
+                monitorPoints.remove(i);
+                i--;
+            }
+        }
+        return monitorPoints;
+    }
+
 
     private List<MonitoringStationDTO> resultList(List<HistoryDaily> historyDailyByMacAndTimeSlot){
         List<MonitoringStationDTO> list = new ArrayList<>();
         if(CollectionUtils.isEmpty(historyDailyByMacAndTimeSlot)){
             return list;
+        }
+        //������������������  ������ p5dnd7a0000001 -������ p5dnd7a0000002 -������ p5dnd7a0000003
+        List<String> hzRoad = Arrays.asList("p5dnd7a0245491","p5dnd7a0392159","p5dnd7a0243605","p5dnd7a0392176");
+        List<String> xtRoad = Arrays.asList("p5dnd7a0243603","p5dnd7a0391986","p5dnd7a0392003","p5dnd7a0392144","p5dnd7a0392167","p5dnd7a0391990");
+        List<String> xhRoad = Arrays.asList("p5dnd7a0392158","p5dnd7a0392173","p5dnd7a0391975","p5dnd7a0392153","p5dnd7a0391961","p5dnd7a0243608","p5dnd7a0243618");
+        List<HistoryDaily> hcHz= new ArrayList<>();
+        List<HistoryDaily> xtHz= new ArrayList<>();
+        List<HistoryDaily> xhHz= new ArrayList<>();
+        for(HistoryDaily h : historyDailyByMacAndTimeSlot) {
+            HistoryDaily historyDaily = new HistoryDaily();
+            historyDaily.setTime( h.getTime());
+            historyDaily.setValue(h.getValue());
+            if(hzRoad.contains(h.getMac())){
+                historyDaily.setMac("p5dnd7a0000001");
+                hcHz.add(historyDaily);
+            }else if(xtRoad.contains(h.getMac())){
+                historyDaily.setMac("p5dnd7a0000002");
+                xtHz.add(historyDaily);
+            }else if(xhRoad.contains(h.getMac())){
+                historyDaily.setMac("p5dnd7a0000003");
+                xhHz.add(historyDaily);
+            }
+        }
+        if(CollectionUtils.isNotEmpty(hcHz)){
+            historyDailyByMacAndTimeSlot.addAll(hcHz);
+        }
+        if(CollectionUtils.isNotEmpty(xtHz)){
+            historyDailyByMacAndTimeSlot.addAll(xtHz);
+        }
+        if(CollectionUtils.isNotEmpty(xhHz)){
+            historyDailyByMacAndTimeSlot.addAll(xhHz);
         }
         Map<String,Map<String,ArrayList<Double>>> resultMap = new HashMap<>();
         for(HistoryDaily h : historyDailyByMacAndTimeSlot) {
@@ -657,7 +718,9 @@
         wrapper.eq(Device::getIsDelete,0);
         Map<String,String> deviceMap =  new HashMap<>();
         wrapper.list().forEach(it->deviceMap.put(it.getMac(),it.getName()));
-
+        deviceMap.put("p5dnd7a0000001","������������������");
+        deviceMap.put("p5dnd7a0000002","������������������");
+        deviceMap.put("p5dnd7a0000003","������������������");
         for (MonitoringStationDTO m :compositeListResult ){
             MonitoringStationDTO monit = new MonitoringStationDTO();
             String mac = m.getMac();

--
Gitblit v1.8.0