diff --git a/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java b/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java index 3e30b54..ef35a7e 100644 --- a/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java +++ b/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java @@ -1,5 +1,6 @@ package com.yxt.supervise.monitor.api.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.domain.EntityWithId; @@ -78,4 +79,11 @@ public class Device extends EntityWithId { @ApiModelProperty("仓库ID") private Integer ckId; + + @ApiModelProperty("维修状态") + private String maintenance; + + @TableField(exist = false) + @ApiModelProperty("维修状态") + private String maintenanceCount; } diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java index 858417f..bcc949d 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java @@ -46,6 +46,15 @@ public class YDeviceRest { return rb; } + + @ApiOperation("获取状态列表") + @GetMapping("/getStatusList") + public ResultBean getStatusList() { + ResultBean rb = ResultBean.fireSuccess(); + rb.setData(yDeviceService.getStatusList()); + return rb; + } + @ApiOperation("添加设备组") @PostMapping("/createDeviceGroup") public ResultBean createDeviceGroup(Device device) { diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java index 8e60934..14fd181 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java @@ -18,6 +18,7 @@ import springfox.documentation.spring.web.json.Json; import javax.annotation.Resource; import java.io.IOException; +import java.math.BigDecimal; import java.security.KeyManagementException; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; @@ -74,6 +75,29 @@ public class YDeviceService extends ServiceImpl { return athleteBOIPage; } + + public List getStatusList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + + queryWrapper.select("maintenance", "count(maintenance) as maintenanceCount"); //1 摄像头 + queryWrapper.groupBy("maintenance"); + + List athleteBOIPage = null; + try { + athleteBOIPage = this.list(queryWrapper); + } catch (Exception e) { + System.out.println(e); + athleteBOIPage = null; + } + int allCount = this.count(); + for (Device device : athleteBOIPage) { + BigDecimal tempCount = new BigDecimal(device.getMaintenance()).divide(new BigDecimal(allCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP); + String temp = tempCount.toString(); + device.setMaintenanceCount(temp); + } + return athleteBOIPage; + } + public IPage getDeviceStatusPage(Map searchVo, PageVo pageVo) { String url = "https://api2.hik-cloud.com/api/v1/open/basic/devices/list?groupNo=A1181&pageNo=" + pageVo.getCurrent() + "&pageSize=" + pageVo.getSize(); String result = ""; @@ -112,7 +136,7 @@ public class YDeviceService extends ServiceImpl { public ResultBean createDevice(Device device) { ResultBean rb = ResultBean.fireSuccess(); - if("1".equals(device.getType())){ //摄像头 + if ("1".equals(device.getType())) { //摄像头 Device nvrDevice = this.getById(device.getNvrId()); device.setNvrCode(nvrDevice.getVCode()); device.setNvrSerial(nvrDevice.getSerialNumber());