Browse Source

Merge branch 'dev' into master-6#

# Conflicts:
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/homePageData/controller/HomePageDataController.java
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/homePageData/service/IHomePageDataService.java
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/homePageData/service/impl/HomePageDataServiceImpl.java
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/systemConfig/peaksAndValleysTimeConfig/entity/PeaksAndValleysTimeConfig.java
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/systemConfig/peaksAndValleysTimeConfig/service/IPeaksAndValleysTimeConfigService.java
#	zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/systemConfig/peaksAndValleysTimeConfig/service/impl/PeaksAndValleysTimeConfigServiceImpl.java
guoqiang 7 months ago
parent
commit
21e6905a50
14 changed files with 451 additions and 12 deletions
  1. 24 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/controller/DevicePointController.java
  2. 114 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/entity/DevicePoint.java
  3. 42 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/entity/DeviceRegionInformation.java
  4. 18 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/mapper/DevicePointMapper.java
  5. 18 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/mapper/xml/DevicePointMapper.xml
  6. 14 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/service/IDevicePointService.java
  7. 18 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/service/impl/DevicePointServiceImpl.java
  8. 38 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/controller/FpgGatherDataController.java
  9. 83 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/entity/FpgGatherData.java
  10. 14 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/mapper/FpgGatherDataMapper.java
  11. 5 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/mapper/xml/FpgGatherDataMapper.xml
  12. 15 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/service/IFpgGatherDataService.java
  13. 25 0
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/service/impl/FpgGatherDataServiceImpl.java
  14. 23 12
      zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/homePageData/service/impl/HomePageDataServiceImpl.java

+ 24 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/controller/DevicePointController.java

@@ -0,0 +1,24 @@
+package org.jeecg.modules.deviceLesm.controller;
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.deviceLesm.entity.DevicePoint;
+import org.jeecg.modules.deviceLesm.service.IDevicePointService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Description: 设备采集点
+ * @Author: jeecg-boot
+ * @Date:   2024-09-23
+ * @Version: V1.0
+ */
+@Api(tags="设备采集点")
+@RestController
+@RequestMapping("/devicePoint")
+@Slf4j
+public class DevicePointController extends JeecgController<DevicePoint, IDevicePointService> {
+    @Autowired
+    private IDevicePointService devicePointService;
+}

+ 114 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/entity/DevicePoint.java

@@ -0,0 +1,114 @@
+package org.jeecg.modules.deviceLesm.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 设备采集点
+ * @Author: jeecg-boot
+ * @Date:   2024-09-23
+ * @Version: V1.0
+ */
+@Data
+@TableName("device_point")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="device_point对象", description="设备采集点")
+public class DevicePoint implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**所属设备*/
+	//@Excel(name = "所属设备", width = 15)
+    @ApiModelProperty(value = "所属设备")
+    private String deviceId;
+	/**采集点名称*/
+	@Excel(name = "采集点名称", width = 15)
+    @ApiModelProperty(value = "采集点名称")
+    private String pointName;
+	/**采集点编号*/
+	@Excel(name = "采集点编号", width = 15)
+    @ApiModelProperty(value = "采集点编号")
+    private String pointCode;
+	/**数据plc地址*/
+	@Excel(name = "数据plc地址", width = 15)
+    @ApiModelProperty(value = "数据plc地址-opc")
+    private String itemid;
+	/**存储位置*/
+	@Excel(name = "存储位置", width = 15)
+    @ApiModelProperty(value = "存储位置-opc")
+    private Integer nameindex;
+	/**采集点地址*/
+	@Excel(name = "采集点地址", width = 15)
+    @ApiModelProperty(value = "采集点地址-modbus、s7")
+    private String pointAddr;
+	/**寄存器类型*/
+	@Excel(name = "寄存器类型", width = 15)
+    @ApiModelProperty(value = "寄存器类型-modbus")
+    @Dict(dicCode = "register_type")
+    private String registerType;
+	/**寄存器起始位*/
+	@Excel(name = "寄存器起始位", width = 15)
+    @ApiModelProperty(value = "寄存器起始位-modbus")
+    private Integer pointBit;
+	/**寄存器偏移位*/
+	@Excel(name = "寄存器偏移位", width = 15)
+    @ApiModelProperty(value = "寄存器偏移位-modbus")
+    private Integer pointScale;
+    /**测试结果*/
+    @Excel(name = "测试结果", width = 15)
+    @ApiModelProperty(value = "测试结果")
+    private String remarks;
+	/**数据类型*/
+	@Excel(name = "数据类型", width = 15)
+    @ApiModelProperty(value = "数据类型")
+    @Dict(dicCode = "point_data_type")
+    private String dateType;
+	/**数据长度*/
+	@Excel(name = "数据长度", width = 15)
+    @ApiModelProperty(value = "数据长度")
+    private Integer dateLength;
+	/**采集状态*/
+	@Excel(name = "采集状态", width = 15)
+    @ApiModelProperty(value = "采集状态")
+    private String gatherStatus;
+	/**测试结果*/
+	@Excel(name = "测试结果", width = 15)
+    @ApiModelProperty(value = "测试结果")
+    private String testResult;
+}

+ 42 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/entity/DeviceRegionInformation.java

@@ -0,0 +1,42 @@
+package org.jeecg.modules.deviceLesm.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 区域管理信息表
+ * @Author: jeecg-boot
+ * @Date:   2024-09-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("device_region")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="device_region对象", description="区域管理信息表")
+public class DeviceRegionInformation implements Serializable {
+
+	/**区域ID*/
+	@Excel(name = "区域ID", width = 15)
+    @ApiModelProperty(value = "区域ID")
+    private String deviceRegionId;
+	/**状态*/
+	@Excel(name = "状态", width = 15)
+    @ApiModelProperty(value = "状态")
+    private String gatherStatus;
+    /**设备ID*/
+    @Excel(name = "设备ID", width = 15)
+    @ApiModelProperty(value = "设备ID")
+    private String deviceIDd;
+    /**数量*/
+    @Excel(name = "数量", width = 15)
+    @ApiModelProperty(value = "数量")
+    private Integer sum;
+}

+ 18 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/mapper/DevicePointMapper.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.deviceLesm.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.deviceLesm.entity.DevicePoint;
+
+import java.util.List;
+
+
+/**
+ * @Description: 设备采集点
+ * @Author: jeecg-boot
+ * @Date:   2024-09-23
+ * @Version: V1.0
+ */
+public interface DevicePointMapper extends BaseMapper<DevicePoint> {
+
+    List getPointInformation(String deviceRegionId);
+}

+ 18 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/mapper/xml/DevicePointMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.deviceLesm.mapper.DevicePointMapper">
+
+    <select id="getPointInformation" parameterType="java.lang.String" resultType="map">
+        SELECT *, COUNT(*) as sum FROM (SELECT
+            di.device_region_id,dp.gather_status,dp.device_id
+            FROM
+            device_information AS di
+            LEFT JOIN device_point AS dp ON dp.device_id = di.id
+            WHERE
+            di.device_region_id = #{deviceRegionId}
+            ) dip
+        WHERE dip.device_id is NOT null
+        GROUP BY
+            gather_status
+    </select>
+</mapper>

+ 14 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/service/IDevicePointService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.deviceLesm.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.deviceLesm.entity.DevicePoint;
+
+/**
+ * @Description: 设备采集点
+ * @Author: jeecg-boot
+ * @Date:   2024-09-23
+ * @Version: V1.0
+ */
+public interface IDevicePointService extends IService<DevicePoint> {
+
+}

+ 18 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/service/impl/DevicePointServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.deviceLesm.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.deviceLesm.entity.DevicePoint;
+import org.jeecg.modules.deviceLesm.mapper.DevicePointMapper;
+import org.jeecg.modules.deviceLesm.service.IDevicePointService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 设备采集点
+ * @Author: jeecg-boot
+ * @Date:   2024-09-23
+ * @Version: V1.0
+ */
+@Service
+public class DevicePointServiceImpl extends ServiceImpl<DevicePointMapper, DevicePoint> implements IDevicePointService {
+
+}

+ 38 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/controller/FpgGatherDataController.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.gatherData.controller;
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.gatherData.entity.FpgGatherData;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.gatherData.service.IFpgGatherDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 峰平谷数据采集
+ * @Author: jeecg-boot
+ * @Date:   2024-10-28
+ * @Version: V1.0
+ */
+@Api(tags="峰平谷数据采集")
+@RestController
+@RequestMapping("/jeecgModuleLesm/fpgGatherData")
+@Slf4j
+public class FpgGatherDataController extends JeecgController<FpgGatherData, IFpgGatherDataService> {
+	@Autowired
+	private IFpgGatherDataService fpgGatherDataService;
+}

+ 83 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/entity/FpgGatherData.java

@@ -0,0 +1,83 @@
+package org.jeecg.modules.gatherData.entity;
+
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 峰平谷数据采集
+ * @Author: jeecg-boot
+ * @Date:   2024-10-28
+ * @Version: V1.0
+ */
+@Data
+@TableName("fpg_gather_data")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="fpg_gather_data对象", description="峰平谷数据采集")
+public class FpgGatherData implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**采集点ID*/
+	@Excel(name = "采集点ID", width = 15)
+    @ApiModelProperty(value = "采集点ID")
+    private String devicePointId;
+	/**区域ID*/
+	@Excel(name = "区域ID", width = 15)
+    @ApiModelProperty(value = "区域ID")
+    private String deviceRegionId;
+	/**设备id*/
+	@Excel(name = "设备id", width = 15)
+    @ApiModelProperty(value = "设备id")
+    private String deviceInformationId;
+	/**运行电流*/
+	@Excel(name = "运行电流", width = 15)
+    @ApiModelProperty(value = "运行电流")
+    private Double current;
+	/**有功功率*/
+	@Excel(name = "有功功率", width = 15)
+    @ApiModelProperty(value = "有功功率")
+    private Double activePower;
+	/**电压*/
+	@Excel(name = "电压", width = 15)
+    @ApiModelProperty(value = "电压")
+    private Double voltage;
+	/**峰平谷类型*/
+	@Excel(name = "峰平谷类型", width = 15, dicCode = "fpg_type")
+	@Dict(dicCode = "fpg_type")
+    @ApiModelProperty(value = "峰平谷类型")
+    private String fpgType;
+}

+ 14 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/mapper/FpgGatherDataMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.gatherData.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.gatherData.entity.FpgGatherData;
+
+/**
+ * @Description: 峰平谷数据采集
+ * @Author: jeecg-boot
+ * @Date:   2024-10-28
+ * @Version: V1.0
+ */
+public interface FpgGatherDataMapper extends BaseMapper<FpgGatherData> {
+
+}

+ 5 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/mapper/xml/FpgGatherDataMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.gatherData.mapper.FpgGatherDataMapper">
+
+</mapper>

+ 15 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/service/IFpgGatherDataService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.gatherData.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.gatherData.entity.FpgGatherData;
+
+/**
+ * @Description: 峰平谷数据采集
+ * @Author: jeecg-boot
+ * @Date:   2024-10-28
+ * @Version: V1.0
+ */
+public interface IFpgGatherDataService extends IService<FpgGatherData> {
+
+    void addC(FpgGatherData fpgGatherData);
+}

+ 25 - 0
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/gatherData/service/impl/FpgGatherDataServiceImpl.java

@@ -0,0 +1,25 @@
+package org.jeecg.modules.gatherData.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.gatherData.entity.FpgGatherData;
+import org.jeecg.modules.gatherData.mapper.FpgGatherDataMapper;
+import org.jeecg.modules.gatherData.service.IFpgGatherDataService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 峰平谷数据采集
+ * @Author: jeecg-boot
+ * @Date:   2024-10-28
+ * @Version: V1.0
+ */
+@Service
+public class FpgGatherDataServiceImpl extends ServiceImpl<FpgGatherDataMapper, FpgGatherData> implements IFpgGatherDataService {
+
+    @Override
+    public void addC(FpgGatherData fpgGatherData) {
+        baseMapper.insert(fpgGatherData);
+    }
+}

+ 23 - 12
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/homePageData/service/impl/HomePageDataServiceImpl.java

@@ -1,10 +1,16 @@
 package org.jeecg.modules.homePageData.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.deviceLesm.entity.DeviceInformation;
+import org.jeecg.modules.deviceLesm.entity.DevicePoint;
 import org.jeecg.modules.deviceLesm.entity.DeviceRegion;
+import org.jeecg.modules.deviceLesm.entity.DeviceRegionInformation;
+import org.jeecg.modules.deviceLesm.mapper.DevicePointMapper;
+import org.jeecg.modules.deviceLesm.mapper.DeviceRegionMapper;
 import org.jeecg.modules.deviceLesm.service.IDeviceInformationService;
 import org.jeecg.modules.deviceLesm.service.IDeviceRegionService;
+import org.jeecg.modules.deviceLesm.service.impl.DeviceRegionServiceImpl;
 import org.jeecg.modules.homePageData.service.IHomePageDataService;
 import org.jeecg.modules.systemConfig.peaksAndValleysTimeConfig.entity.PeaksAndValleysTimeConfig;
 import org.jeecg.modules.systemConfig.peaksAndValleysTimeConfig.service.IPeaksAndValleysTimeConfigService;
@@ -24,10 +30,10 @@ public class HomePageDataServiceImpl implements IHomePageDataService {
     private IDeviceRegionService deviceRegionService;
 
     @Autowired
-    private IPeaksAndValleysTimeConfigService peaksAndValleysTimeConfigService;
+    private IDeviceInformationService deviceInformationService;
 
     @Autowired
-    private IDeviceInformationService deviceInformationService;
+    private DevicePointMapper devicePointMapper;
 
 
     @Override
@@ -58,22 +64,27 @@ public class HomePageDataServiceImpl implements IHomePageDataService {
         AtomicReference<Integer> offline = new AtomicReference<>(0);
         if(oConvertUtils.listIsNotEmpty(list)){
             list.forEach(deviceRegion -> {
+                List<DeviceRegionInformation> devicePointList = devicePointMapper.getPointInformation(deviceRegion.getId());
                 Map<String, Object> map = new HashMap<>();
-                int total = (int)(Math.random()*50)+50;
-                map.put("online", total-(int)(Math.random()*10));
-                map.put("offline", total-(int)map.get("online"));
-                map.put("name",deviceRegion.getRegionTitle());
+                devicePointList.forEach(devicePointInfo -> {
+                    if(devicePointInfo.getGatherStatus() == "1"){ // 在线
+                        map.put("online",  devicePointInfo.getSum());
+                    }else if(devicePointInfo.getGatherStatus() == "0"){ // 离线
+                        map.put("offline", devicePointInfo.getSum());
+                    }
+                });
+                map.put("name", deviceRegion.getRegionTitle());
                 online.updateAndGet(v -> v + (int)map.get("online"));
                 offline.updateAndGet(v -> v + (int)map.get("offline"));
                 devices.add(map);
             });
         }
-        res.put("res",devices);
-        res.put("deviceTotal",online.get()+offline.get());
-        res.put("online",online.get()*100/(online.get()+offline.get())+"%");
-        res.put("offline",offline.get()*100/(online.get()+offline.get())+"%");
-        res.put("onlineSum",online.get());
-        res.put("offlineSum",offline.get());
+        res.put("res", devices);
+        res.put("deviceTotal", online.get() + offline.get());
+        res.put("online", online.get() * 100 / (online.get() + offline.get()) + "%");
+        res.put("offline", offline.get() * 100 / (online.get() + offline.get()) + "%");
+        res.put("onlineSum", online.get());
+        res.put("offlineSum", offline.get());
         return res;
     }