From 47cd76ee9124da2e02395cd9359ab21654c4d502 Mon Sep 17 00:00:00 2001 From: weidong Date: Sat, 3 Feb 2024 23:11:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A6=96=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beidou/controller/IndexController.java | 85 ++++++++++++ .../templates/page/device_overview.html | 130 ++++++++++++------ 2 files changed, 174 insertions(+), 41 deletions(-) diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/IndexController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/IndexController.java index c179e3b5..2d5646ad 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/IndexController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/IndexController.java @@ -1,13 +1,22 @@ package com.imdroid.beidou.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.imdroid.beidou.entity.Tenant; +import com.imdroid.secapi.dto.*; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpSession; +import java.util.List; @Controller public class IndexController extends BasicController{ + @Autowired + GnssDeviceMapper gnssDeviceMapper; + @Autowired + GnssStatusMapper statusMapper; @RequestMapping("/") public String index0(Model m, HttpSession session) { @@ -24,6 +33,82 @@ public class IndexController extends BasicController{ @RequestMapping("/page/device_overview") public String deviceOverview(Model m, HttpSession session) { initModel(m, session); + Long deviceDeployedNum; + Long deviceOnlineNum; + Long warning1Num;//一般告警 + Long warning2Num;//严重告警 + + QueryWrapper deviceQueryWrapper = new QueryWrapper<>(); + QueryWrapper statusQueryWrapper; + List deviceList; + if(tenantId == Tenant.SAAS_PROVIDER_ID){ + // 统计所有企业设备 + deviceQueryWrapper.ne("tenantid", tenantId); + deviceQueryWrapper.ne("opmode", GnssDevice.OP_MODE_UNUSE); + // 设备数量 + deviceDeployedNum = gnssDeviceMapper.selectCount(deviceQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.ne("tenantid", tenantId); + statusQueryWrapper.isNotNull("latitude"); + statusQueryWrapper.isNotNull("longitude"); + deviceList = statusMapper.selectList(statusQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.ne("tenantid", tenantId); + statusQueryWrapper.ne("state", GnssStatus.STATE_OFFLINE); + deviceOnlineNum = statusMapper.selectCount(statusQueryWrapper); + + // 告警统计 + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.ne("tenantid", tenantId); + statusQueryWrapper.eq("warning", WarningCfg.LEVEL_1); + warning1Num = statusMapper.selectCount(statusQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.ne("tenantid", tenantId); + statusQueryWrapper.eq("warning", WarningCfg.LEVEL_2); + warning2Num = statusMapper.selectCount(statusQueryWrapper); + } + else{ + // 统计本企业设备 + // 统计所有企业设备 + deviceQueryWrapper.eq("tenantid", tenantId); + deviceQueryWrapper.ne("opmode", GnssDevice.OP_MODE_UNUSE); + // 设备数量 + deviceDeployedNum = gnssDeviceMapper.selectCount(deviceQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.ne("tenantid", tenantId); + statusQueryWrapper.isNotNull("latitude"); + statusQueryWrapper.isNotNull("longitude"); + deviceList = statusMapper.selectList(statusQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("tenantid", tenantId); + statusQueryWrapper.ne("state", GnssStatus.STATE_OFFLINE); + deviceOnlineNum = statusMapper.selectCount(statusQueryWrapper); + + // 告警统计 + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("tenantid", tenantId); + statusQueryWrapper.eq("warning", WarningCfg.LEVEL_1); + warning1Num = statusMapper.selectCount(statusQueryWrapper); + + statusQueryWrapper = new QueryWrapper<>(); + statusQueryWrapper.eq("tenantid", tenantId); + statusQueryWrapper.eq("warning", WarningCfg.LEVEL_2); + warning2Num = statusMapper.selectCount(statusQueryWrapper); + } + + m.addAttribute("deviceDeployedNum", deviceDeployedNum); + m.addAttribute("deviceOnlineNum", deviceOnlineNum); + m.addAttribute("deviceOfflineNum", deviceDeployedNum - deviceOnlineNum); + m.addAttribute("warning1Num", warning1Num); + m.addAttribute("warning2Num", warning2Num); + m.addAttribute("warningTotalNum", warning1Num+warning2Num); + m.addAttribute("deviceList", deviceList); + return "/page/device_overview"; } diff --git a/sec-beidou/src/main/resources/templates/page/device_overview.html b/sec-beidou/src/main/resources/templates/page/device_overview.html index 84923901..7af84ae0 100644 --- a/sec-beidou/src/main/resources/templates/page/device_overview.html +++ b/sec-beidou/src/main/resources/templates/page/device_overview.html @@ -30,61 +30,108 @@ -
-
-
-
+
-
-
设备数量
-
-
-
- 2,020
-
-
- 装机量 2040
- 在线数 2020 -
+
+
+
+
设备数量
+
+
+
+ 2,020
+
+
+ 掉线数 0
+ 装机量 2020 +
+
+
+
+
+
+
+
告警统计
+
+
+
+ 20
+
+
+ 严重 5
+ 一般 20
-
-
- -
-
告警统计
-
-
-
- 20
-
-
- 严重 5
- 一般 20 -
-
-
-
- -
-
-
-
+ +
+
+
+
+
+
-