From de0d30ce0241a6e61d475fa41433741ee2990b5b Mon Sep 17 00:00:00 2001 From: weidong Date: Tue, 2 Apr 2024 08:02:41 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E5=81=9C=E7=94=A8?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=98=BE=E7=A4=BA=E5=9C=A8=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../beidou/controller/IndexController.java | 72 +++++++------------ 1 file changed, 27 insertions(+), 45 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 3ced1d6a..b1e22a67 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,6 +1,7 @@ package com.imdroid.beidou.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.yulichang.query.MPJQueryWrapper; import com.imdroid.beidou.entity.Tenant; import com.imdroid.secapi.dto.*; import org.springframework.beans.factory.annotation.Autowired; @@ -34,12 +35,11 @@ public class IndexController extends BasicController{ public String deviceOverview(Model m, HttpSession session) { initModel(m, session); Long deviceDeployedNum; - Long deviceOnlineNum; - Long warning1Num;//一般告警 - Long warning2Num;//严重告警 + int deviceOnlineNum=0; + int warning1Num=0;//一般告警 + int warning2Num=0;//严重告警 QueryWrapper deviceQueryWrapper = new QueryWrapper<>(); - QueryWrapper statusQueryWrapper; List deviceList; if(tenantId == Tenant.SAAS_PROVIDER_ID){ // 统计所有企业设备 @@ -48,28 +48,16 @@ public class IndexController extends BasicController{ // 设备数量 deviceDeployedNum = gnssDeviceMapper.selectCount(deviceQueryWrapper); - statusQueryWrapper = new QueryWrapper<>(); - statusQueryWrapper.ne("tenantid", tenantId); - statusQueryWrapper.isNotNull("latitude"); - statusQueryWrapper.isNotNull("longitude"); - statusQueryWrapper.orderByAsc("warning"); - deviceList = statusMapper.selectList(statusQueryWrapper); + MPJQueryWrapper query = new MPJQueryWrapper() + .selectAll(GnssStatus.class) + .leftJoin("gnssdevices d on t.deviceid = d.deviceid") + .ne("t.tenantid", tenantId) + .ne("d.opmode", GnssDevice.OP_MODE_UNUSE) + .isNotNull("t.latitude") + .isNotNull("t.longitude") + .orderByDesc("t.warning"); - 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); + deviceList = statusMapper.selectList(query); } else{ // 统计本企业设备 @@ -79,27 +67,21 @@ public class IndexController extends BasicController{ // 设备数量 deviceDeployedNum = gnssDeviceMapper.selectCount(deviceQueryWrapper); - statusQueryWrapper = new QueryWrapper<>(); - statusQueryWrapper.eq("tenantid", tenantId); - statusQueryWrapper.isNotNull("latitude"); - statusQueryWrapper.isNotNull("longitude"); - deviceList = statusMapper.selectList(statusQueryWrapper); + MPJQueryWrapper query = new MPJQueryWrapper() + .selectAll(GnssStatus.class) + .leftJoin("gnssdevices d on t.deviceid = d.deviceid") + .eq("t.tenantid", tenantId) + .ne("d.opmode", GnssDevice.OP_MODE_UNUSE) + .isNotNull("t.latitude") + .isNotNull("t.longitude") + .orderByDesc("t.warning"); + deviceList = statusMapper.selectList(query); + } - 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); + for(GnssStatus status:deviceList){ + if(status.getState() == GnssStatus.STATE_OFFLINE) deviceOnlineNum++; + if(status.getWarning() == WarningCfg.LEVEL_1) warning1Num++; + else if(status.getWarning() == WarningCfg.LEVEL_2) warning2Num++; } m.addAttribute("deviceDeployedNum", deviceDeployedNum);