Jelajahi Sumber

大屏定时任务

jichaobo 2 tahun lalu
induk
melakukan
9567058f03

+ 1 - 1
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/MybatisGeneratorUtils.java

@@ -71,7 +71,7 @@ public class MybatisGeneratorUtils {
         // strategy.setTablePrefix("t_"); // 表名前缀
         strategy.setEntityLombokModel(true); //使用lombok
         //修改自己想要生成的表
-        strategy.setInclude("dem_file_label");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
+        strategy.setInclude("base_device_status");  // 逆向工程使用的表   如果要生成多个,这里可以传入String[]
         mpg.setStrategy(strategy);
 
         // 关闭默认 xml 生成,调整生成 至 根目录

+ 51 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/BaseDeviceStatus.java

@@ -0,0 +1,51 @@
+package com.usky.fire.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 设备状态表
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BaseDeviceStatus implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 设备状态(0:离线、1:正常、2:故障、3:告警)
+     */
+    private Integer deviceStatus;
+
+    /**
+     * 上报时间
+     */
+    private LocalDateTime reportTime;
+
+    /**
+     * 单位ID
+     */
+    private String companyId;
+
+
+}

+ 16 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/mapper/BaseDeviceStatusMapper.java

@@ -0,0 +1,16 @@
+package com.usky.fire.mapper;
+
+import com.usky.fire.domain.BaseDeviceStatus;
+import com.usky.common.mybatis.core.CrudMapper;
+
+/**
+ * <p>
+ * 设备状态表 Mapper 接口
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-16
+ */
+public interface BaseDeviceStatusMapper extends CrudMapper<BaseDeviceStatus> {
+
+}

+ 24 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseDeviceStatusService.java

@@ -0,0 +1,24 @@
+package com.usky.fire.service;
+
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.fire.domain.BaseDeviceStatus;
+
+/**
+ * <p>
+ * 设备状态表 服务类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-16
+ */
+public interface BaseDeviceStatusService extends CrudService<BaseDeviceStatus> {
+
+    /**
+     * 根据设备状态查询设备数量
+     *
+     * @param companyId    单位ID
+     * @param deviceStatus 设备状态(0:离线、1:正常、2:故障、3:告警)
+     * @return
+     */
+    int deviceStatusCount(String companyId, Integer deviceStatus);
+}

+ 2 - 2
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseDeviceServiceImpl.java

@@ -33,11 +33,11 @@ public class BaseDeviceServiceImpl extends AbstractCrudService<BaseDeviceMapper,
     }
 
     @Override
-    public Integer deviceCount(String companyId,Integer deviceType){
+    public Integer deviceCount(String companyId, Integer deviceType) {
         LambdaQueryWrapper<BaseDevice> queryWrapper = Wrappers.lambdaQuery();
         queryWrapper.eq(BaseDevice::getEnable, 1)
                 .eq(BaseDevice::getCompanyId, companyId)
-                .eq(BaseDevice::getDeviceType, deviceType);
+                .eq(deviceType != 0, BaseDevice::getDeviceType, deviceType);
         int count = this.count(queryWrapper);
         return count;
     }

+ 32 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseDeviceStatusServiceImpl.java

@@ -0,0 +1,32 @@
+package com.usky.fire.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.fire.domain.BaseDeviceStatus;
+import com.usky.fire.mapper.BaseDeviceStatusMapper;
+import com.usky.fire.service.BaseDeviceStatusService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 设备状态表 服务实现类
+ * </p>
+ *
+ * @author JCB
+ * @since 2022-09-16
+ */
+@Service
+public class BaseDeviceStatusServiceImpl extends AbstractCrudService<BaseDeviceStatusMapper, BaseDeviceStatus> implements BaseDeviceStatusService {
+
+    @Override
+    public int deviceStatusCount(String companyId, Integer deviceStatus) {
+        LambdaQueryWrapper<BaseDeviceStatus> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(StringUtils.isNotBlank(companyId), BaseDeviceStatus::getCompanyId, companyId)
+                .eq(deviceStatus != null, BaseDeviceStatus::getDeviceStatus, deviceStatus);
+        int count = this.count(queryWrapper);
+        return count;
+    }
+
+}

+ 22 - 40
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BscEnterpriseScreenServiceImpl.java

@@ -80,8 +80,11 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
     @Autowired
     private AlarmVideoService alarmVideoService;
 
+    @Autowired
+    private BaseDeviceStatusService baseDeviceStatusService;
+
     @Override
-    public Object screenDataStatistic(String dataType, String moduleType,String dataType1) {
+    public Object screenDataStatistic(String dataType, String moduleType, String dataType1) {
         String companyId = baseUserCompanyService.companyId();
         if (StringUtils.isBlank(companyId)) {
             throw new BusinessException("用户未绑定联网单位");
@@ -138,9 +141,9 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         }
         JSONObject jsonObject = JSONObject.parseObject(data.toString());
         Object disparateData = new Object();
-        if (moduleType.equals("patrolInspection")){
+        if (moduleType.equals("patrolInspection")) {
             disparateData = jsonObject.get(dataType1);
-        }else {
+        } else {
             disparateData = jsonObject.get(dataType);
         }
 
@@ -284,7 +287,10 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         int faultProcessed = alarmFireService.fireAlarmCount(companyId, 1, "4", null, null);
         int faultCount = faultUntreated + faultProcessed;
         double faultRatio = Arith.div(faultProcessed, faultCount, 2) * 100;
-        int deviceCount = baseDeviceService.deviceCount(companyId, 1);
+        int deviceCount = baseDeviceService.deviceCount(companyId, 0);
+        int offlineDeviceCount = baseDeviceStatusService.deviceStatusCount(companyId, 0);
+        int onlineDeviceCount = deviceCount - offlineDeviceCount;
+        double deviceRatio = Arith.div(onlineDeviceCount, deviceCount, 2) * 100;
 
         Map<String, Object> map1 = new HashMap<>();
         map1.put("min", 1);
@@ -308,11 +314,11 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         for (int i = 0; i < 2; i++) {
             Map<String, Object> map5 = new HashMap<>();
             if (i == 1) {
-                map5.put("name", "已处理");
-                map5.put("value", fireProcessed);
+                map5.put("name", "离线");
+                map5.put("value", offlineDeviceCount);
             } else {
-                map5.put("name", "待处理");
-                map5.put("value", fireUntreated);
+                map5.put("name", "在线");
+                map5.put("value", onlineDeviceCount);
             }
             data.add(map5);
         }
@@ -323,7 +329,7 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         map6.put("value", deviceCount);
 
         Map<String, Object> map7 = new HashMap<>();
-        map7.put("value", fireRatio);
+        map7.put("value", deviceRatio);
 
         Map<String, Object> map8 = new HashMap<>();
         map8.put("min", 1);
@@ -343,42 +349,18 @@ public class BscEnterpriseScreenServiceImpl extends AbstractCrudService<BscEnter
         Map<String, Object> map11 = new HashMap<>();
         map11.put("value", faultProcessed);
 
-        List<Object> data1 = new ArrayList<>();
-        for (int i = 0; i < 2; i++) {
-            Map<String, Object> map12 = new HashMap<>();
-            if (i == 1) {
-                map12.put("name", "已处理");
-                map12.put("value", faultProcessed);
-            } else {
-                map12.put("name", "待处理");
-                map12.put("value", faultUntreated);
-            }
-            data1.add(map12);
-        }
-        Map<String, Object> map18 = new HashMap<>();
-        map18.put("data", data1);
-
-        Map<String, Object> map13 = new HashMap<>();
-        map13.put("value", deviceCount);
-
-        Map<String, Object> map14 = new HashMap<>();
-        map14.put("value", faultRatio);
-
         Map<String, Object> map = new HashMap<>();
         map.put("data1", map15);
         map.put("data2", map2);
         map.put("data3", map3);
         map.put("data4", map4);
-        map.put("data5", map16);
-        map.put("data6", map6);
-        map.put("data7", map7);
-        map.put("data8", map17);
-        map.put("data9", map9);
-        map.put("data10", map10);
-        map.put("data11", map11);
-        map.put("data12", map18);
-        map.put("data13", map13);
-        map.put("data14", map14);
+        map.put("data5", map17);
+        map.put("data6", map9);
+        map.put("data7", map10);
+        map.put("data8", map11);
+        map.put("data9", map16);
+        map.put("data10", map6);
+        map.put("data11", map7);
         return map;
     }
 

+ 14 - 0
service-fire/service-fire-biz/src/main/resources/mapper/fire/BaseDeviceStatusMapper.xml

@@ -0,0 +1,14 @@
+<?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="com.usky.fire.mapper.BaseDeviceStatusMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.fire.domain.BaseDeviceStatus">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_status" property="deviceStatus" />
+        <result column="report_time" property="reportTime" />
+        <result column="company_id" property="companyId" />
+    </resultMap>
+
+</mapper>